我已经做了一百万次了,但由于某种原因,我今天无法完成。。。
我有这个关联数组
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'];
}
在这种情况下,数组元素不是数组,而是对象。
因此,它应该是:
foreach($array as $key=>$value){
echo $value->firstName;
}
试试这个:
$value->firstName;
您还可以执行:
foreach($array as $key=> (array) $value){
echo $value['firstName'];
}
这将把对象类型转换为数组。
foreach($array as $key=>$value){
echo $value->firstName;
}
您有stdClass Objects
作为数组元素,而不是关联数组,因此您需要选项表示法:$value->firstName
您也可以通过类型转换将stdClass Object
转换为数组:
foreach($array as $key=> (array) $value){
echo $value['firstName'];
}
<?php
$array = (array)$array;
$firstNames = array();
foreach($array as $a)
{
$firstNames[] = $a['firstName'];
}
print_r($firstNames);
?>