這裏是更長的示例https://eval.in/392036Php數組。循環。如果條件爲真,則設置變量。再循環。需要重複。但不重複相同的代碼
循環數組。
如果數組值==爲某個(第一個)變量[0],則設置下一個變量[1]。
再次循環通過相同的數組(循環內部循環)。
並再次檢查數組值== ==下一個變量[1] ....並再次執行相同操作。
因此,手動複製/粘貼相同的代碼,只需更改變量[x]。
有這樣的陣列
(
[0] => Array
(
[Id] => 17
[Value] => ProductsParentId_0_CurrentId_17
[ParentId] => 0
)
[1] => Array
(
[Id] => 1
[Value] => HomeParentId_0_CurrentId_1
[ParentId] => 0
)
[2] => Array
(
[Id] => 18
[Value] => ComputersParentId_17_CurrentId_18
[ParentId] => 17
)
.....
)
並遍歷
foreach ($arr as $k_arr => $v_arr){
if($v_arr['ParentId'] == 0){
echo $v_arr['Value']. "\n";
$parent_id_for_current[1] = $v_arr['Id'];
foreach ($arr as $k_arr => $v_arr){
if($v_arr['ParentId'] == $parent_id_for_current[1]){
echo $v_arr['Value']. "\n";
$parent_id_for_current[2] = $v_arr['Id'];
foreach ($arr as $k_arr => $v_arr){
if($v_arr['ParentId'] == $parent_id_for_current[2]){
echo $v_arr['Value']. "\n";
$parent_id_for_current[3] = $v_arr['Id'];
.....
}//if($v_arr['ParentId'] == $parent_id_for_current[2])
}//foreach
}//if($v_arr['ParentId'] == $parent_id_for_current[1])
}//foreach
}//if($v_arr['ParentId'] == $parent_id_for_current[0])
}//foreach ($arr as $k_arr => $v_arr)
是否有可能得到相同的結果,而不是重複(複製/粘貼)foreach, if
預期的結果是:
1)show ['Value']
where [ParentId] => 0
1.1)再次定義變量具有值[Id] => 17
2)循環,查找並顯示['Value']
其中在1.1中定義[ParentId]
==變量)。 並重復所有。再次定義另一個變量,然後再次循環,檢查是否存在[ParentId]
等於定義的變量...像鏈接問題的頂部
'$ parent_id_for_current [$ i]',基本上... –
預期的結果是什麼? –
在第一個循環結束之前嘗試了例如'while($ x <= 3)'之前的所有循環和'x ++',但無法獲得預期的結果 – user2118559