2015-01-07 82 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'; 
});