PHP得到第一个数组元素

时间:2013-03-15 16:05:29

标签: php arrays api element

嘿所有我想从电影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)

任何帮助都会很棒!

5 个答案:

答案 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]