大家好,这里需要一些帮助。因为我有一个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
答案 0 :(得分:2)
尝试
foreach($decode_country as $p){
echo "code -- ".$p->code."<br>";
echo "country -- ".$p->country."<br>";
}
此处$p
将被视为对象,您可以使用code
和country
提取$p->code
和$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>";
}
答案 1 :(得分:1)
你可以试试这个
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;