计算未知长度的字符串哪个字符出现的次数最多

本文介绍使用PHP中的str_split, array_count_values及arsort函数来统计一个字符串中各字符出现的频率,并提供了两种不同的实现方法。

用到的函数:

str_split:把字符串分割到数组中。类似的函数explode() 函数把字符串分割为数组。
array_count_values:用于统计数组中所有值出现的次数。
arsort:对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。
$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";//任意长度字符串

$arr=str_split($str);
$arr=array_count_values($arr);
arsort($arr);
print_r($arr);

输出:

Array
(
    [$] => 7
    [3] => 6
    [*] => 6
    [4] => 5
    [f] => 5
    [s] => 4
    [d] => 4
    [5] => 3
    [a] => 3
    [6] => 2
    [2] => 2
    [g] => 2
    [#] => 2
)

第二种方法:

用到的函数:

array_unique:删除数组中重复的值。
substr_count:计算子串在字符串中出现的次数。
$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";//任意长度字符串

$arr=str_split($str);
$unique=array_unique($arr);
foreach ($unique as $a){
$arr2[$a]=substr_count($str, $a);
}
arsort($arr2);
print_r($arr2);

转载于:https://www.cnblogs.com/why123/archive/2012/08/12/2634490.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值