php 中 3 种方法统计字符串中每种字符的个数并排序
3 种方法,统计字符串中每种字符的个数并排序,多种解法哟~
str_split
()函数很重要
代码如下
:
<?php
//这个方法纯粹是背函数,不解释;
function
countStr(
$str
){
$str_array
=
str_split
(
$str
);
$str_array
=
array_count_values
(
$str_array
);
arsort(
$str_array
);
return
$str_array
;
}
//以下是例子;
$str
="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";
print_r(countStr(
$str
));
?>
<?
//这个方法有些数据结构的思想,不过还是很好理解的:)
function
countStr2(
$str
){
$str_array
=
str_split
(
$str
);
$result_array
=
array
();
foreach
(
$str_array
as
$value
){
//判断该字符是否是新出现的种类,是的话就设置为 1,不是的
话就自加;
if
(!
$result_array
[
$value
]){
$result_array
[
$value
]=1;
}
else
{
$result_array
[
$value
]++;
}
}
arsort(
$result_array
);
return
$result_array
;
}
$str
="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";
var_dump(countStr2(
$str
))
?>
<?php
//这个方法纯粹是解法一的蹩脚版本,先找出所有字符的总类,然后在一个一个用
substr_count 函数统计。
function
countStr3(
$str
){
$str_array
=
str_split
(
$str
);