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

时间:2013-09-21 09:38:24

标签: php loops foreach

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

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

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

4 个答案:

答案 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]);