在PHP中访问多维数组对象

时间:2013-12-16 19:08:56

标签: php

我在PHP中有一个item对象,它在var_dump上有以下结构:

$item->properties:

array (size=1)
  1 => 
    array (size=4)
      'Key1' => string 'Value1' (length=6)
      'Key2' => int 1
      'Key3' => string 'true' (length=4)
      'Key4' => string 'true' (length=4)

我想在foreach循环中访问Key,value并为一些内部变量分配Key,value pair,但是当我使用foloowing代码来循环数组的pver数组时,我在访问值中的值时遇到错误我想要的方式。这就是我在做的事情:

        foreach($item->properties as $property) {
            foreach($property as $value) {
                echo $value;
            }
        }

任何人都知道我做错了什么,我该如何解决?

1 个答案:

答案 0 :(得分:1)

你提供给foreach的一件事并不是一个有效的论据,正如错误所说的那样。找出它中的哪一个(linenumber)和var_dump该参数以查看它是什么类型(可能“不是数组”)。

最后要么$item->properties本身,要么是该数组的数组值(如果是1),所以$property不是数组。

例如,可能是属性的第一个键可能是数组,但第二个键不是?然后你可以用is_array来检查。