我正在制作的当前阵列会产生与我想要的不同的结果。
我希望有这种出局
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号。
答案 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";
}
}