开发者

php foreach question

I have the following code

$oldID=-1;
$column=0;
foreach($pv->rawData as $data) {
    if ($oldID!= $data->relativeTypeID) {
        $oldID= $data->relativeTypeID;
        $column++;
        $row=1;
    }

    echo "Row: ".$row.": Column: ".$column.": ID".$data->relativeTypeID."<br>"; 

    // if exists a description
    if($data->description) {
        //insert here in the array
        $pv->results[$data->relativeTypeID][$row][0]= $data->relation;
        $pv->results[$data->relativeTypeID][$row][1]= '';
        $pv->results[$data->relativeTypeID][$row][2] ='';
        $pv->results[$data->relativeTypeID][$row][3]  = '';
        $row++;
    }
}

That generates this output:

Row: 1: Colum开发者_JS百科n: 1: ID1

Row: 2: Column: 1: ID1

Row: 1: Column: 2: ID2

Row: 2: Column: 2: ID2

Row: 3: Column: 2: ID2

Row: 4: Column: 2: ID2

Row: 5: Column: 2: ID2

Row: 6: Column: 2: ID2

Row: 7: Column: 2: ID2

Row: 8: Column: 2: ID2

Row: 9: Column: 2: ID2

Row: 10: Column: 2: ID2

Row: 11: Column: 2: ID2

Row: 1: Column: 3: ID3

Row: 1: Column: 4: ID4

Row: 1: Column: 5: ID8

Row: 2: Column: 5: ID8

Row: 3: Column: 5: ID8

Row: 1: Column: 6: ID10

Row: 2: Column: 6: ID10

Row: 3: Column: 6: ID10

Row: 4: Column: 6: ID10

...

...

What I want it to do is to stop at the top 4 columns so I want an output like this

Row: 1: Column: 1: ID1

Row: 2: Column: 1: ID1

Row: 1: Column: 2: ID2

Row: 2: Column: 2: ID2

Row: 3: Column: 2: ID2

Row: 4: Column: 2: ID2

Row: 5: Column: 2: ID2

Row: 6: Column: 2: ID2

Row: 7: Column: 2: ID2

Row: 8: Column: 2: ID2

Row: 9: Column: 2: ID2

Row: 10: Column: 2: ID2

Row: 11: Column: 2: ID2

Row: 1: Column: 3: ID3

Row: 1: Column: 4: ID4

As you can see it stopped at column 4.


You could do it like this.

foreach($pv->rawData as $data){
  if ($oldID!= $data->relativeTypeID){
    $oldID= $data->relativeTypeID;
    $column++;
    $row=1;
  }
  if ($column >=4) break; // Exit the foreach loop if column is equal to or bigger than 4
  echo "Row: ".$row.": Column: ".$column.": ID".$data->relativeTypeID."

I'm just being paranoid with my condition, which might as well be $column == 4. Your call. The key is to break out of the loop using the break statement. Check the documentation for break here if you wish.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜