[英]How to access an array from stdClass Object (json output) using PHP?
大家好,这里只需要一点帮助。 因为我有一个json数据并解码。 但是我无法使用foreach循环访问它。 当我尝试打印数组结构时,我得到了:
Array
(
[0] => stdClass Object
(
[code] => AD
[country] => Andorra
)
[1] => stdClass Object
(
[code] => AE
[country] => United Arab Emirates
)
[2] => stdClass Object
(
[code] => AF
[country] => Afghanistan
)
[3] => stdClass Object
(
[code] => AG
[country] => Antigua and Barbuda
)
.
.
.
我想要的就是访问代码和国家/地区
我使用了此循环,但它显示了索引名称和值:
foreach($decode_country as $p){
foreach($p as $key => $value){
echo $key."--".$value."<br />";
}
}
但显示:
code--AD
country--Andorra
code--AE
country--United Arab Emirates
code--AF
country--Afghanistan
code--AG
country--Antigua and Barbuda
code--AI
country--Anguilla
code--AL
country--Albania
code--AM
country--Armenia
尝试像
foreach($decode_country as $p){
echo "code -- ".$p->code."<br>";
echo "country -- ".$p->country."<br>";
}
这里$p
将被视为一个对象,您可以使用$p->code
和$p->country
提取code
和country
$p->country
。或者更好:在解码 json数据时,您需要提供
$decode_country = json_decode($data,true);
true
将返回数组结果。然后使用
foreach($decode_country as $p){
echo "code -- ".$p['code']."<br>";
echo "country -- ".$p['country']."<br>";
}
你可以试试这个
foreach($decode_country as $p){
echo $p->code;
echo $p->country;
}
这里$decode_country
是一个对象array
,在foreach
循环中,每个$p
是一个对象。
如果您使用json_decode($data, true);
然后使用
echo $p['code'];
使用TRUE
,返回的对象将转换为关联数组。 否则,使用
echo $p->code;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.