php数组的行和列

时间:2010-05-06 06:33:27

标签: php

我正在制作的当前阵列会产生与我想要的不同的结果。

我希望有这种出局

Row: 0: Column: 1: ID 1  
Row: 1: Column: 1: ID 1 
Row: 0: Column: 2: ID 2   
Row: 1: Column: 2: ID 2   
Row: 2: Column: 2: ID 2   
Row: 3: Column: 2: ID 2  
Row: 0: Column: 3: ID 3  
Row: 1: Column: 3: ID 3  

正如您所见,行和列会根据ID进行更改。因此,如果ID相同,则只需转到同一列中的下一行。但是,如果更改了id,它将转到下一列并开始行。

目前我的代码看起来像这样

for($i=0;$i<count($pv->rawData); $i++) {   
 $relative=0; 
 $relativeTypeID = -1;  
 if ($pv->rawData[$i]->relativeTypeID != $relativeTypeID) {  
   $relativeTypeID = $pv->rawData[$i]->relativeTypeID;   
   $iTypeCount++;  
 }  
 if(!empty($pv->rawData[$i]->description)) {  
   $pv->results[$i][$iTypeCount][0] = $pv->rawData[$i]->description;  
   echo "Row: ".$i.": Column: ".$iTypeCount.": ID".$relativeTypeID." <br>";  
 }  
}  

它给了我以下输出

Row: 0: Column: 1: ID1  
Row: 1: Column: 2: ID1  
Row: 2: Column: 3: ID2   
Row: 3: Column: 4: ID2  
Row: 4: Column: 5: ID2   
Row: 5: Column: 6: ID2   
Row: 6: Column: 7: ID2  
Row: 7: Column: 8: ID2   
Row: 8: Column: 9: ID2   
Row: 9: Column: 10: ID2  
Row: 10: Column: 11: ID2   
Row: 11: Column: 12: ID2   
Row: 12: Column: 13: ID2  
….  
….  

正如您所看到的,行和列正在更改但不会更改ID号。

1 个答案:

答案 0 :(得分:0)

我不能(不会)破译那个循环你已经扔到那里。如果您可以提供$ pv-&gt; rawData数组的var_dump(),我可以做更好的事情,但是在伪代码中:

foreach($column as $i => $col) {
    foreach($col->row as $j => $thing) {
        echo "Row: $j: Column: $i: ID {$thing->id}\n";
    }
}