PHP 循环计算不同的数字返回值


PHP counting different numeric returned values in loop

在PHP foreach循环中,我有一个名为$levels的变量。此变量为每个循环提供不同的值。这些值都是数字。这些数字在循环的多个实例中也很常见。

例如,几个循环可能返回

数字 7,其他循环可能返回 4,一个可能返回 3。我希望能够确定循环期间生成的最常见数值。

关于如何实现这一目标的任何建议?

在循环过程中,您可以创建一个数组(例如$loopArray)并用生成的所有值填充它。在循环结束时,您可以计算数组的模式(示例取自此答案)。

$values = array_count_values($loopArray); 
$mode = array_search(max($loopArray), $loopArray);

将循环值存储到数组中。

$stuff = array('orange','banana', 'apples','orange', 'xxxxxxx');
$result = array_count_values($stuff);
asort($result);
end($result);
$answer = key($result);
echo $answer;

我希望你会这样!

你可以做这样的事情...

$return = array();
foreach($array as $key => $value) {
    ...
    $return[] = $levels;
}
$count = array_count_values($return);
arsort($count);
$keys = array_keys($count);
echo "The most occurring value is $keys[0][1] with $keys[0][0] occurrences."

你可以尝试这样的事情

$a = array(1,2,3,4,5,5,6,7,8,8,8,8,9,5,5);
$test = array();
foreach ($a as $value) {
    //echo $value."<br>";
    $test[$value][] = $value;
}
echo "--------------------------<br>";
echo count($test[8]);