我想获得项目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