嘿所有我想从电影API获取数据。格式如下:
page => 1
results =>
0 =>
adult =>
backdrop_path => /gM3KKixSicG.jpg
id => 603
original_title => The Matrix
release_date => 1999-03-30
poster_path => /gynBNzwyaioNkjKgN.jpg
popularity => 10.55
title => The Matrix
vote_average => 9
vote_count => 328
1 =>
adult =>
backdrop_path => /o6XxGMvqKx0.jpg
id => 605
original_title => The Matrix Revolutions
release_date => 2003-10-26
poster_path => /sKogjhfs5q3aEG8.jpg
popularity => 5.11
title => The Matrix Revolutions
vote_average => 7.5
vote_count => 98
etc etc....
如何才能获得第一个元素[0]的数据(如在backdrop_path,original_title等中)?我是PHP数组的新手:)。
当然这就是我用来输出数组数据的原因:
print_r($theMovie)
任何帮助都会很棒!
答案 0 :(得分:5)
另一种解决方案:
$arr = reset($datas['results']);
返回第一个数组元素的值,如果数组为空,则返回FALSE。
OR
$arr = current($datas['results']);
current()函数只返回内部指针当前指向的数组元素的值。它不会以任何方式移动指针。如果内部指针指向超出元素列表末尾或数组为空,则current()返回FALSE。
答案 1 :(得分:2)
您可以使用此$theMovie['result'][0]['backdrop_path'];
指向数组,也可以像这样循环使用
foreach($theMovie['results'] as $movie){
echo $movie['backdrop_path'];
}
答案 2 :(得分:1)
假设所有这些代码都存储在变量$datas
中:
$results = $datas['results'];
$theMovie = $results[0];
答案 3 :(得分:1)
尝试
$yourArray['results'][0]
但请记住,当结果数组为空时,会产生错误。
答案 4 :(得分:1)
您可以使用array_shift
弹出第一个元素,然后检查它是否有效(如果没有结果或项目不是数组,array_shift
将返回null
)。
$data = array_shift($theMovie['results']);
if (null !== $data) {
// process the first result
}
如果要迭代所有结果,可以使用foreach
进行while
循环array_shift
循环。
foreach($theMovie['results'] as $result) {
echo $result['backdrop_path'];
}
while ($data = array_shift($theMovie['results'])) {
echo $data['backdrop_path'];
}
或者在检查实际设置$theMovie['result'][0]['backdrop_path'];
后,只使用已建议的$theMovie['result'][0]
。