📜  php 计数值在数组中出现的次数 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:39.408000             🧑  作者: Mango

PHP 计数值在数组中出现的次数

在 PHP 中,我们经常需要统计一个数值在一个数组中出现的次数,比如统计用户选择了某个选项的人数。下面介绍几种计算数组中数值出现次数的方法。

方法一:array_count_values 函数

PHP 内置的 array_count_values 函数可以很方便的计算一个数组中每个数值出现的次数,返回一个关联数组,其中键为数组中的数值,而值为该数值出现的次数。

示例代码:

$array = [1, 2, 3, 1, 3, 1];
$counts = array_count_values($array);
print_r($counts);

输出结果:

Array
(
    [1] => 3
    [2] => 1
    [3] => 2
)
方法二:foreach 循环

使用 foreach 循环遍历数组,然后使用一个关联数组来记录每个数值出现的次数。

示例代码:

$array = [1, 2, 3, 1, 3, 1];
$counts = [];
foreach ($array as $value) {
    if (isset($counts[$value])) {
        $counts[$value]++;
    } else {
        $counts[$value] = 1;
    }
}
print_r($counts);

输出结果:

Array
(
    [1] => 3
    [2] => 1
    [3] => 2
)
方法三:array_reduce 函数

使用 array_reduce 函数来对数组进行累加,然后使用一个关联数组来记录每个数值出现的次数。

示例代码:

$array = [1, 2, 3, 1, 3, 1];
$counts = array_reduce($array, function ($counts, $value) {
    if (isset($counts[$value])) {
        $counts[$value]++;
    } else {
        $counts[$value] = 1;
    }
    return $counts;
}, []);
print_r($counts);

输出结果:

Array
(
    [1] => 3
    [2] => 1
    [3] => 2
)

以上是计算数组中数值出现次数的常用方法,可以根据实际需求选择最适合的方法。