在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]);