如何在 PHP 中比较关联数组的上一个键和当前键



我想从数组中回显最常见的数字。我有一个数组,我想将以前的键与数组的当前键进行比较。我该怎么做?

我做了两个 foreach 循环:

$mostCommon = 0;
foreach ($_SESSION['array'] as $key => $value) {
       foreach ($_SESSION['array'] as $key2 => $value2){
           $key++;
       }
       if(current key is higher than previous key){
           $mostCommon = $value;
       }
}

这就是我不想这样做的方式。

您可以将上一个密钥保存在循环之外。

例:

$previousKey = null;
foreach ($array as $key => $value) {
    if ($key > $previousKey){ //If current key is greater than last key
    }
    $previousKey = $key;
}

$highestKey将设置为该数组中最大的键。

最常见的数字可以使用array_count_values找到。
array_count_values 的输出是一个关联数组,键是值,值是它在数组中的次数。
使用 asort 对数组进行排序以保留键。
翻转数组以获取最常见的值,并回显最后一项。

$arr = [1,2,2,3,3,3,3,1,2,5,3,7];
$counts = array_count_values($arr);
asort($counts);
$flipped = array_flip($counts);
echo "most common number: " . end($flipped) . " is in the array " . end($counts) . " times";
//most common number: 3 is in the array 5 times

https://3v4l.org/qSD4J

相关内容

  • 没有找到相关文章

最新更新