Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP对象访问数组元素_Php_Arrays - Fatal编程技术网

PHP对象访问数组元素

PHP对象访问数组元素,php,arrays,Php,Arrays,我有一个PHP对象,我正试图从中提取数据 对象: object(Symfony\Component\Test)#274 (2) { array(11) { ["objectclass"] array(4) { [0] "blue" [1] "yellow" [2] "red" [3] "green" } ["name"] array(1) { [0] "Bob" } ["surname"] a

我有一个PHP对象,我正试图从中提取数据

对象:

object(Symfony\Component\Test)#274 (2) {
  array(11) {
    ["objectclass"] array(4) {
      [0] "blue"
      [1] "yellow"
      [2] "red"
      [3] "green"
    }
    ["name"] array(1) {
      [0] "Bob"
    }
    ["surname"] array(1) {
      [0] "Peeterson"
    }
    ["title"] array(1) {
      [0] "Builder"
    }
    ["office"] array(1) {
      [0] "London-Branch"
    }
    ["givenname"] array(1) {
      [0] "Bob"
    }
    ["language"] array(1) {
      [0] "en-GB"
    }
    array(1) {
      [0] "565144652"
    }
    ["accounts"] array(2) {
      [0] "76474"
      [1] "16854"
    }
    array(1) {
      [0] "5"
    }
  }
}
我这里有一个有11个多维数组的对象。现在让我们假设现在我只需要从
objectclass数组
&&
name数组
&&
accounts数组

好的,这就是我试图这样做,但完全没有得到什么:

好的,因此对象存储在一个变量中,即:

$data = object();
foreach($data as $usr)
{
   var_dump($usr->objectclass);
}

您正在循环一个对象以获取其上的每个元素。更恰当的做法是,只需说出你想要的

$objectclass = $data->objectclass; //this is an array you can loop or access 
$objectclass[0]; //blue
其他部分也一样

$name = $data->name[0]; //Bob
其中的数组可以循环

foreach ($objectclass as $oc){
    echo $oc;
}
输出:

蓝色的

黄色的

红色的


绿色

您正在循环一个对象以获取其上的每个元素。更恰当的做法是,只需说出你想要的

$objectclass = $data->objectclass; //this is an array you can loop or access 
$objectclass[0]; //blue
其他部分也一样

$name = $data->name[0]; //Bob
其中的数组可以循环

foreach ($objectclass as $oc){
    echo $oc;
}
输出:

蓝色的

黄色的

红色的


绿色

var_dump($usr['objectclass'])应该可以工作。如有疑问,请使用
echo''。打印($usr,true)。''
用于对象/数组结构的可读表示形式。数组元素通过
[]
访问,对象通过
->
访问。它们不能像Javascript允许的那样互换。如果一个对象有一个奇怪的键,比如
my key
,那么就需要
->{'my key'}
$data
是多个对象吗?你所拥有的还不清楚。原因是您循环
$data
,或者您正在循环以获取您拥有的众多对象中的一个,或者您正在循环一个对象以获取对象中的每个元素。不,如图所示,这是一个单独的对象,我已经尝试了所有建议,但仍然不走运,我怎样才能摆脱对象而只保留数组,这样就更容易迭代了…?@nerdlyist我得到了这个错误:它似乎非常有线
注意:未定义的属性:Symfony\Component\Test::$objectclass
var_dump($usr['objectclass'])应该可以工作。如有疑问,请使用
echo''。打印($usr,true)。''
用于对象/数组结构的可读表示形式。数组元素通过
[]
访问,对象通过
->
访问。它们不能像Javascript允许的那样互换。如果一个对象有一个奇怪的键,比如
my key
,那么就需要
->{'my key'}
$data
是多个对象吗?你所拥有的还不清楚。原因是您循环
$data
,或者您正在循环以获取您拥有的众多对象中的一个,或者您正在循环一个对象以获取对象中的每个元素。不,如图所示,这是一个单独的对象,我已经尝试了所有建议,但仍然不走运,我怎样才能摆脱对象而只保留数组,这样更容易迭代…?@nerdlyist我得到了这个错误:它似乎非常有线
注意:未定义属性:Symfony\Component\Test:$objectclass