在PHP foreach
循环中,我有一个名为$levels
的变量。此变量为每个循环提供不同的值。值都是数字。这些数字在循环的多个实例中也是通用的。
例如,一些循环可能返回数字7,而其他循环可能返回4,一个循环可能返回3.我希望能够确定循环期间生成的最常见数值。
有关如何实现这一目标的任何建议?
答案 0 :(得分:1)
在循环期间,您可以创建一个数组(例如$ loopArray)并使用生成的所有值填充它。在循环结束时,您可以计算数组的模式(示例来自this answer)。
$values = array_count_values($loopArray);
$mode = array_search(max($loopArray), $loopArray);
答案 1 :(得分:0)
你可以这样做......
$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."
答案 2 :(得分:0)
将循环值存储到数组中。
$stuff = array('orange','banana', 'apples','orange', 'xxxxxxx');
$result = array_count_values($stuff);
asort($result);
end($result);
$answer = key($result);
echo $answer;
我希望你能这样做!
答案 3 :(得分:0)
您可以尝试这样的事情
$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]);