PHP array_count_values 函数
最后修改于 2025 年 3 月 13 日
PHP 的 array_count_values 函数用于计算数组中值的出现次数。它返回一个带有值计数的关联数组。
基本定义
array_count_values 计算每个值在数组中出现的次数。结果是一个数组,其中键是原始值。
语法:array_count_values(array $array): array。值必须是字符串或整数。其他类型将触发警告并被跳过。
计算字符串值
此示例演示了如何计算数组中字符串值的出现次数。
string_count.php
<?php $colors = ["red", "blue", "green", "blue", "red", "red"]; $counts = array_count_values($colors); print_r($counts);
该函数计算每种颜色的出现次数。“red”出现 3 次,“blue”出现 2 次,“green”出现 1 次。输出是一个关联数组。
计算整数值
此示例显示了如何计算数组中整数值的出现次数。
integer_count.php
<?php $numbers = [1, 2, 3, 2, 1, 1, 1, 3]; $counts = array_count_values($numbers); print_r($counts);
数字 1 出现频率最高(4 次)。数字 2 和 3 各出现两次。该函数对整数和字符串的处理方式相同。
混合值类型
此示例演示了混合字符串和整数值时的行为。
mixed_values.php
<?php $mixed = ["apple", 1, "orange", 1, "apple", "1"]; $counts = array_count_values($mixed); print_r($counts);
请注意,整数 1 和字符串 "1" 被视为相同的值。该函数在计数之前将所有值转换为字符串。
处理无效值
此示例显示了数组包含无效值时会发生什么。
invalid_values.php
<?php $data = ["a", "b", 3.14, ["array"], null]; $counts = @array_count_values($data); // Suppress warnings print_r($counts);
浮点数、数组和 null 值会触发警告并被排除在结果之外。输出中只计算有效的字符串和整数值。
实际应用
此示例展示了分析调查响应的实际用例。
survey_analysis.php
<?php
$responses = [
"Excellent", "Good", "Fair", "Good",
"Excellent", "Poor", "Good", "Excellent"
];
$ratings = array_count_values($responses);
arsort($ratings); // Sort by count descending
foreach ($ratings as $rating => $count) {
echo "$rating: $count responses\n";
}
这会通过计算每个评分来分析调查响应。然后对结果进行排序,以首先显示最常见的响应,从而提供快速的洞察。
最佳实践
- 类型安全:确保数组仅包含字符串/整数。
- 错误处理:检查无效类型的警告。
- 排序:使用排序函数分析结果。
- 性能:即使对于大型数组也能高效运行。
来源
本教程通过实际示例介绍了 PHP 的 array_count_values 函数,展示了其在计算值频率方面的用法。
作者
列出 所有 PHP 数组函数。