Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP循环遍历数组并找到最大值_Php_Arrays - Fatal编程技术网

PHP循环遍历数组并找到最大值

PHP循环遍历数组并找到最大值,php,arrays,Php,Arrays,嘿,我想看看这个数组中的最高票数是多少,然后从中获取文件路径 images => backdrops => 0 => file_path => /gM3KKiN80qbJgKHjPnmAfwxSicG.jpg width => 1920 height => 1080 iso_639_1 => aspect_ratio => 1.78 vote_average =&g

嘿,我想看看这个数组中的最高票数是多少,然后从中获取文件路径

images =>
  backdrops =>
    0 =>
      file_path => /gM3KKiN80qbJgKHjPnmAfwxSicG.jpg
      width => 1920
      height => 1080
      iso_639_1 =>
      aspect_ratio => 1.78
      vote_average => 5.4529616724739
      vote_count => 19
    1 =>
      file_path => /7u3pxc0K1wx32IleAkLv78MKgrw.jpg
      width => 1920
      height => 1080
      iso_639_1 =>
      aspect_ratio => 1.78
      vote_average => 5.4509803921569
      vote_count => 22
    2 =>
      etc etc....
我尝试过这样做,但无法获取任何数据:

foreach($theMovieData['images']['backdrops'][0]['vote_count'] as $key => $item) {
    echo $item;
}
我会怎么做?在找到最高投票数后,我如何获得文件路径


谢谢你的帮助

您需要迭代
背景
,而不是
votecount
。还可以使用临时变量来存储和比较以前的值

$temp = -1;
foreach($theMovieData['images']['backdrops'] as $key => $item) {

if ($item["vote_count"] > $temp)
$temp = $item["vote_count"];
}

foreach循环意味着在数组中循环,您试图在发布的代码示例中实现的是单个变量中的循环。您应该将代码更改为以下内容:

$max = 0;
$pathMax = null;
foreach ($theMovieData['images']['backdrops'] as $data){
    $voteCount = $data['vote_count'];
    $path = $data['file_path'];
    if ((int)$voteCount > $max){
        $max = (int)$voteCount;
        $pathMax = $path;
    }
}

$theMovieData['images']['backdrops']
上执行foreach操作。您尝试在该数组中的整数上循环,而不是在数组元素上循环。