从数组中的数组访问 PHP 数据
Access PHP data from Array within an Array
新手PHP问题在这里:
我正在使用 Vimeo API 访问视频信息并使用 PHP 接收初始数据数组。我知道如何使用如下调用访问数据:
echo $array['body']['description'];
但我需要像这样访问数据,其中 'download' 将通过
访问
echo $array['body']['download'];
特别是在质量被声明为来源的地方,因为我不需要其他的。我需要 link.
"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
则得到 link.
foreach( $array['body']['download'] as $innerArray ){
if( $innerArray['quality'] === 'source' ){
echo $innerArray['link'];
}
}
有些喜欢
$arr = $array['body']['download'];
$link = '';
for($i = 0; $i <count($arr); $i ++ ){
if(@$arr[$i]['quality'] == 'source') {
$link = @arr[$i]['link'];
break;
}
}
echo $link;
如果您想按数组中的属性过滤数组,您可以 use array_filter
使用您自己的可调用过滤器。在你的情况下,尝试:
$downloads = array_filter($array['body']['download'], function($download) {
return $download['quality'] === 'source';
});
新手PHP问题在这里:
我正在使用 Vimeo API 访问视频信息并使用 PHP 接收初始数据数组。我知道如何使用如下调用访问数据:
echo $array['body']['description'];
但我需要像这样访问数据,其中 'download' 将通过
访问echo $array['body']['download'];
特别是在质量被声明为来源的地方,因为我不需要其他的。我需要 link.
"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
则得到 link.
foreach( $array['body']['download'] as $innerArray ){
if( $innerArray['quality'] === 'source' ){
echo $innerArray['link'];
}
}
有些喜欢
$arr = $array['body']['download'];
$link = '';
for($i = 0; $i <count($arr); $i ++ ){
if(@$arr[$i]['quality'] == 'source') {
$link = @arr[$i]['link'];
break;
}
}
echo $link;
如果您想按数组中的属性过滤数组,您可以 use array_filter
使用您自己的可调用过滤器。在你的情况下,尝试:
$downloads = array_filter($array['body']['download'], function($download) {
return $download['quality'] === 'source';
});