簡體   English   中英

PHP循環遍歷數組並找到最高值

[英]PHP loop through array and find highest value

嘿所有我想看看這個數組中最高的投票數是多少,然后從那里得到file_path

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;
}

我做錯了什么? 如何在找到最高票數后獲得file_path

謝謝您的幫助!

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;
    }
}

你需要迭代backdrops ,而不是votecount 還可以使用臨時變量來存儲和比較之前的值。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM