PHP foreach循环与多维数组

时间:2014-12-19 10:46:37

标签: php arrays foreach

我使用foreach循环创建了一个数组,结果循环如下:

array(8) { 
    [0]=> array(3) { 
        ["shortdesc"]=> object(SimpleXMLElement)#63 (1) {...}
        ["longdesc"]=> object(SimpleXMLElement)#58 (1) {...} 
        ["price"]=> object(SimpleXMLElement)#64 (1) {...} 
    } 
    [1]=> array(3) { 
        ["shortdesc"]=> object(SimpleXMLElement)#67 (1) {...} 
        ["longdesc"]=> object(SimpleXMLElement)#62 (1) {...} 
        ["price"]=> object(SimpleXMLElement)#68 (1) {...} 
    }  
    (...)
}

现在我想循环遍历该数组并输出每个项目。

我认为这样可行($ optionsArray是上面的数组):

foreach ($optionsArray as $key => $sortedOption) {
  $longDesc = $sortedOption->longdesc;
  $shortDesc = $sortedOption->shortdesc;
  $price = $sortedOption->price;
  echo "<li>$shortDesc:</li>";
}

但它给了我:

Notice: Trying to get property of non-object in

我要去哪里?

编辑:

现在找到了这个用法:

foreach ($optionsArray as $innerArray) {
  foreach ($innerArray as $value) {
    echo "<li>$value</li>";
  } 
}

哪个有效但输出所有数组元素,如何选择哪些元素并将它们分配给变量?

1 个答案:

答案 0 :(得分:-1)

&#39; - &GT;&#39;仅适用于对象,不适用于数组。使用[&#39; key&#39;]代替 - &gt;键。