以下是PHP中三种方法统计字符串中每种字符的个数并排序的攻略:
方法一:使用for循环逐一判断并统计字符个数
<?php
$str = "hello world";
$result = array();
for ($i = 0; $i < strlen($str); $i++) {
$char = $str[$i];
if (array_key_exists($char, $result)) {
$result[$char]++;
} else {
$result[$char] = 1;
}
}
arsort($result); // 降序排列
print_r($result);
?>
输出结果:
Array
(
[l] => 3
[o] => 2
[e] => 1
[h] => 1
[w] => 1
[r] => 1
[d] => 1
[ ] => 1
)
方法二:使用array_count_values函数统计字符个数
<?php
$str = "hello world";
$chars = str_split($str);
$result = array_count_values($chars);
arsort($result); // 降序排列
print_r($result);
?>
输出结果:
Array
(
[l] => 3
[o] => 2
[e] => 1
[h] => 1
[w] => 1
[r] => 1
[d] => 1
[ ] => 1
)
方法三:使用正则表达式和preg_match_all函数统计字符个数
<?php
$str = "hello world";
$pattern = "/./u"; // 匹配任意字符,u表示使用UTF-8编码
preg_match_all($pattern, $str, $matches);
$result = array_count_values($matches[0]);
arsort($result); // 降序排列
print_r($result);
?>
输出结果:
Array
(
[l] => 3
[o] => 2
[e] => 1
[h] => 1
[w] => 1
[r] => 1
[d] => 1
[ ] => 1
)
以上三种方法的核心思路都是统计字符串中每种字符的个数,只是实现方式不同。第一种方法使用for循环逐一判断字符并统计个数,第二种方法使用PHP内置函数array_count_values,第三种方法使用正则表达式匹配任意字符并统计个数。无论使用哪种方法,都需要最后将结果按照字符个数从大到小排序,以方便查阅。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php中3种方法统计字符串中每种字符的个数并排序 - Python技术站