龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

3种方法,统计字符串中每种字符的个数并排序

时间:2014-07-22 14:51来源: 作者: 点击:
分享到:
p多种解法哟~ str_split()函数很重要br / 转自PHP面试题:a href=http://phpmst.com/ rel=nofollowhttp://phpmst.com//abr / br / /p

多种解法哟~ str_split()函数很重要
转自PHP面试题:http://phpmst.com/


<?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函数,所以说,这个函数很重要哦~
精彩图集

赞助商链接