我想獲得項目ID,然後在該項目ID內的所有option_name/option_values。所以我最終得到了ID:123,顏色:藍色,尺寸:6. ID:456,顏色:黃色,大小:8.但是我得到正確的項目ID,但是option_name/option_value沒有正確傳入,空白或只是一個隨機字母。迭代通過多維數組
這裏是我的代碼無法正常工作,
foreach($itemlist as $item)
{
echo $item['ID'];
foreach($item as $option)
{
echo $option['option_name'];
echo $option['option_value'];
}
}
凡$itemlist
看起來是這樣的:
Array ( [1] => Array ( [ID] => 123 [QTY] => 1 [MODEL] => sdfsd [IMAGE] => [1] => Array ( [option_name] => Color [option_value] => Blue [option_price] => 0.0000 ) [2] => Array ( [option_name] => Size [option_value] => 6 [option_price] => 0.0000 ) [price] => 0 ) [2] => Array ( [ID] => 456 [QTY] => 0 [MODEL] => gsdfgd [IMAGE] => [1] => Array ( [option_name] => Color [option_value] => Yellow [option_price] => 0.0000 ) [2] => Array ( [option_name] => Size [option_value] => 8 [option_price] => 0.0000 ) [price] => 0 ) )
我需要的,雖然所有的選擇和IM不知道有多少會出現。可能是兩個,可能是四個等等。有沒有辦法循環所有這些方法?你的代碼有效,但只返回第一個選項集,我需要所有這些,在我的示例1和2中,顏色和大小 – user1155594
@ user1155594:添加了一個完整的示例來說明如何解決此問題。如果你確定帶有選項值的子數組總是要分配給鍵'1',那麼你可以省去foreach($ item as $ sub)'和正確使用'foreach($ item [1]作爲$ key => $ option)',沒有任何'break;'語句,然後你不需要嵌套3個循環... –
你的第三個代碼示例的工作原理是,但是隻有中斷它纔給出顏色,而不是顏色和大小。如果我刪除中斷,它會給我整個數組中的每種顏色/大小,而不僅僅是用於編號123 – user1155594