0

我已经这样做了一百万次,但由于某种原因,我今天无法让它工作......

我有这个关联数组

 Array
 (
     [0] => stdClass Object
         (
             [registrantKey] => 106569618
             [firstName] => xxx
             [lastName] => yyy
             [email] => x@x.x

         )

     [1] => stdClass Object
         (
             [registrantKey] => 106975808
             [firstName] => qqq
             [lastName] => ppp
             [email] => aaa@aaa.com

         )
 ...
 ...

我只想得到他们每个人的名字,我使用了一个 foreach 循环,但并没有真正让我得到我想要的。

有任何想法吗?

 foreach($array as $key=>$value){
      echo $value['firstName'];
 }
4

5 回答 5

0

你也可以这样做:

foreach($array as $key=> (array) $value){
     echo $value['firstName'];
}

这会将您的对象类型转换为数组。

于 2012-07-27T16:01:51.240 回答
0

对于这种情况,您的数组元素不是数组而是对象。

因此,它应该是:

foreach($array as $key=>$value){
    echo $value->firstName;
}
于 2012-07-27T15:58:10.633 回答
0
foreach($array as $key=>$value){
  echo $value->firstName;
}

你有stdClass Objects作为数组元素而不是关联数组,所以你需要选项符号:$value->firstName

您还可以stdClass Object通过类型转换将其转换为数组:

foreach($array as $key=> (array) $value){
  echo $value['firstName'];
}
于 2012-07-27T15:58:13.443 回答
0

尝试这个:

$value->firstName;
于 2012-07-27T15:58:28.340 回答
0
<?php 

 $array = (array)$array; 
 $firstNames = array();
 foreach($array as $a)
 {
     $firstNames[] = $a['firstName'];
 }
 print_r($firstNames);

?>
于 2012-07-27T16:27:14.307 回答