Новичок 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"}
]
Спасибо за вашу помощь!
Вы можете перебрать массив $array['body']['download']
затем проверьте значение quality
, Если это равно source
тогда получите ссылку.
foreach( $array['body']['download'] as $innerArray ){
if( $innerArray['quality'] === 'source' ){
echo $innerArray['link'];
}
}
Если вы хотите отфильтровать массив по свойствам в массиве, вы можете использование array_filter
с вашим собственным фильтром. В вашем случае попробуйте:
$downloads = array_filter($array['body']['download'], function($download) {
return $download['quality'] === 'source';
});
Некоторым нравится
$arr = $array['body']['download'];
$link = '';
for($i = 0; $i <count($arr); $i ++ ){
if(@$arr[$i]['quality'] == 'source') {
$link = @arr[$i]['link'];
break;
}
}
echo $link;