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

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

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

相关文章

PHP 如何利用phpexcel导入数据库

废话不多说,直接上代码吧复制代码 代码如下:<?php error_reporting(E_ALL); //开启错误 set_time_limit(0); //脚本不超时 date...

php时间计算相关问题小结

本文实例总结了php时间计算相关问题。分享给大家供大家参考,具体如下: 1. php获取三个月前的日期 <?php header("content-Type: text...

PHP文件上传问题汇总(文件大小检测、大文件上传处理)

由于涉及到本地和服务器两方面的安全问题,所以基于input type="file"形式的页面文件上传一直处于一个很尴尬的位置。一方面,用户不希望隐私泄露,所以浏览器无法对用户在上传时选择...

php去除二维数组的重复项方法

php中去一维数组的重复项可以通过php内置函数array_unique(),但是php的array_unique函数对多维数组并不适用,怎么才能去除二维数组中的重复项呢? 以下...

队列在编程中的实际应用(php)

队列在编程中的实际应用(php)

一:队列的概念、数据结构 队列(Queue)是运算受到限制的一种线性表。只允许在表的一端进行插入,而在另一端进行删除元素的线性表。队尾(rear)是允许插入的一端。队头(front)是允...