当数据多于一个时,我有一个问题是从数组中的json数据中获取值。
当我的数据只有这样时:
$mydata='[{"firstName":"Ana","height":5.3}]';
我可以先通过子串将其访问Ana的高度并对其进行解码,如下所示:
$mydata= substr($mydata, 1, -1);
$obj = json_decode($mydata);
print $obj->{'height'};
问题是数据如下所示:
$mydata='[{"firstName":"Ana","height":5.3},{"firstName":"Taylor","height":5.11}]';
如何获得Ana的高度?
print $obj->{0}->{'height'}; //doesn't work.
请帮忙。谢谢你提前。
答案 0 :(得分:2)
$b_arr=json_decode($mydata,true);
$b_arr[0]['height'];//0 is index for array
答案 1 :(得分:1)
您可以使用 json_decode 转换并遍历您的数组以获取您的特定数据:
<?php
$mydata='[{"firstName":"Ana","height":5.3},{"firstName":"George","height":7.3}]';
$json = json_decode($mydata, true);
foreach($json as $key => $value) {
if($value['firstName'] == 'Ana') {
echo $value['height'];
break;
}
}
?>