使用PHP(数组)从Json输出数据

时间:2016-12-29 08:34:47

标签: php arrays json

这是我的json输出。我想只回应'决议'。怎么可能?

Array
(
[uploader] => CoversDamian
[formats] => Array
    (
        [0] => Array
            (
                [preference] => -50
                [resolution] => 720p
            )
        [1] => Array
            (
                [preference] => -100
                [resolution] => 1080p
            )
    )          
)

4 个答案:

答案 0 :(得分:0)

$myarray = Array
(
[uploader] => CoversDamian
[formats] => Array
    (
        [0] => Array
            (
                [preference] => -50
                [resolution] => 720p
            )
        [1] => Array
            (
                [preference] => -100
                [resolution] => 1080p
            )
    )          
)

echo $ myarray [“formats”] [1] [“resolution”];

如果您在formats密钥中有更多数组,则可以使用基于foreach密钥的formats循环。因为你想在formats键下打印所有分辨率。 所以

foreach($myarray["formats"] as $key => $value){
    echo $value["resolution"]."<br>";
}

答案 1 :(得分:0)

如果你想要回显所有分辨率,你需要一个这样的循环:

for ($i = 0; $i < sizeof($array["formats"]); $i++){
 echo $array["formats"][$i]["resolution"];
}

希望它有所帮助!

答案 2 :(得分:0)

假设json是对象表示法,存储为$json,您可以循环遍历'格式',如下所示:

foreach($json->formats as $key=>$value) {
   echo $value->resolution . "\n";
}

如果它不是对象表示法,则可以循环遍历数组中的子键(假设它存储在变量$json中),如下所示:

foreach($json['formats'] as $key=>$value) {
   echo $value['resolution'] . "\n";
}

请注意,您可以访问对象中的子键/元素与数组中的子键/元素的细微差别。

答案 3 :(得分:0)

$arr = array(
'uploader' => 'CoversDamian',
'formats' => array
    (
        0 => array
            (
                'preference' => '-50',
                'resolution' => '720p'
            ),
        1 => array
            (
                'preference' => -'100',
                'resolution' => '1080p'
            )
    )          
);

foreach ($arr['formats'] as $key=>$val) {
  echo   $val['resolution'];
}