1

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

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

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

4

4 回答 4

1

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

$values = array_count_values($loopArray); 
$mode = array_search(max($loopArray), $loopArray);
于 2013-09-21T09:46:09.490 回答
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."
于 2013-09-21T09:46:17.213 回答
0

将循环值存储到数组中。

$stuff = array('orange','banana', 'apples','orange', 'xxxxxxx');

$result = array_count_values($stuff);
asort($result);
end($result);
$answer = key($result);

echo $answer;

我希望这会是你!

于 2013-09-21T09:48:56.147 回答
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]);
于 2013-09-21T10:07:46.647 回答