2015-01-07 47 views
-5

新手PHP的问题在这里:从阵列中的数组访问PHP数据

我使用Vimeo API来访问视频信息,并使用PHP来接收初始数据数组。我知道如何使用来电来访问数据:

echo $array['body']['description']; 

但我需要访问诸如将通过

echo $array['body']['download']; 

访问这个地方“下载”具体哪里的质量表述为源数据因为我不需要其他的。从它我需要链接。

"download": [ 
    { 
     "quality": "mobile", 
     "type": "video/mp4", 
     "width": 480, 
     "height": 270, 
     "expires": "2015-01-07T18:51:48+00:00", 
     "link": "LINK", 
     "created_time": "2015-01-02T18:47:11+00:00" 
    }, 
    { 
     "quality": "source", 
     "type": "source", 
     "width": 1920, 
     "height": 1080, 
     "expires": "2015-01-07T18:51:48+00:00", 
     "link": "LINK", 
     "created_time": "2015-01-02T18:25:19+00:00" 
    } 
] 

谢谢大家的帮忙!

+0

不明白这个问题。 – Demodave

+0

很抱歉,如果不清楚。我是PHP新手,尽我所能。但下面有三个很好的答案,所以它已经全部设置了! – jons

回答

1

您可以遍历数组$array['body']['download'],然后检查quality的值。如果它等于source则获取链接。

foreach($array['body']['download'] as $innerArray){ 
    if($innerArray['quality'] === 'source'){ 
    echo $innerArray['link']; 
    } 
} 
+0

非常感谢您的帮助! – jons

0

有些人喜欢

$arr = $array['body']['download']; 
$link = ''; 
for($i = 0; $i <count($arr); $i ++){ 
    if(@$arr[$i]['quality'] == 'source') { 
     $link = @arr[$i]['link']; 
     break; 
    } 
} 
echo $link; 
1

如果你想在阵列中筛选通过性能的阵列,可以use array_filter用自己的过滤器调用。在你的情况下,请尝试:

$downloads = array_filter($array['body']['download'], function($download) { 
    return $download['quality'] === 'source'; 
});