3

嘿,我正在尝试从电影 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] 的数据(如背景路径、原始标题等)?我是 PHP 数组的新手 :)。

当然,这就是我用来输出数组数据的内容:

 print_r($theMovie)

任何帮助都会很棒!

4

5 回答 5

5

另一种解决方案:

$arr = reset($datas['results']);

返回第一个数组元素的值,如果数组为空,则返回 FALSE。

或者

$arr = current($datas['results']);

current() 函数只返回内部指针当前指向的数组元素的值。它不会以任何方式移动指针。如果内部指针指向元素列表末尾之外或数组为空,则 current() 返回 FALSE。

于 2013-03-15T16:15:53.840 回答
2

你可以用这个指向数组,$theMovie['result'][0]['backdrop_path'];或者你可以像这样循环遍历它,

foreach($theMovie['results'] as $movie){
   echo $movie['backdrop_path'];
}
于 2013-03-15T16:09:10.243 回答
1

假设所有这些代码都存储在一个变量中$datas

$results = $datas['results'];
$theMovie = $results[0];
于 2013-03-15T16:08:08.020 回答
1

尝试

$yourArray['results'][0]

但请记住,当结果数组为空时,这会产生错误。

于 2013-03-15T16:08:22.073 回答
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]实际设置后,按照已经建议的方式使用。

于 2013-03-15T16:17:20.273 回答