Home  >  Article  >  Backend Development  >  3 ways to count the number of each character in a string and sort it in PHP

3 ways to count the number of each character in a string and sort it in PHP

怪我咯
怪我咯Original
2017-07-04 13:30:161871browse

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); 
$unique=
array_unique
($str_array); 
foreach ($unique as $v){ 
$result_array[$v]=substr_count($str,$v); 
} 
arsort($result_array); 
return $result_array; 
} 
$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas"; 
var_dump(countStr3($str)); 
?>

*无论是用哪一个方法,都要用到str_split函数,所以说,这个函数很重要哦~

The above is the detailed content of 3 ways to count the number of each character in a string and sort it in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn