从数组内部的Json数据中获取价值

时间:2013-12-17 05:11:42

标签: php arrays json

当数据多于一个时,我有一个问题是从数组中的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.

请帮忙。谢谢你提前。

2 个答案:

答案 0 :(得分:2)

使用json_decode

 $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;
    }
}
?>