PHP 获取一段内容中每个汉字出现的次数

该博客内容涉及一个PHP函数,用于从字符串中提取汉字并进行计数。通过示例代码展示了如何从给定的文本中获取汉字,并统计每个汉字出现的次数。内容包括汉字的提取、计数以及结果的排序展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	    //获取$str里的前几个汉字
	    function gainChinese($str='',$length=99999999999)
	    {
	        $count = 0;//
	        $str_count = strlen($str);//字符个数
	        $result = '';
	        if ($str_count>0) {
	            for($i=0;$i<$str_count;$i++){
	                $str_i = mb_substr($str,$i,1,'utf-8');//获取字符串中的第$i个字符
	                if(preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$str_i) && $count<$length){
	                    $result .= $str_i;
	                    $count ++;
	                }
	            }
	        }
	        return $result;
	    }

		// 内容
        $content = "阿斯达岁的嗯我热无热无问213二七万达所多若群二无若asdasdqweewrqwdas请问苏打水";
        $data = gainChinese($content);
        $ret = []; // 打印内容
        for ($i=0;$i<9999;$i++){
            // 循环获取每个汉字
            $Chinese_character = mb_substr($data, $i, 1, 'utf-8');
            if(empty($Chinese_character)) break;//没有了跳出

            if(!isset($ret[$Chinese_character])){
                $ret[$Chinese_character] = 1;
            }else{
                $ret[$Chinese_character] += 1;
            }
        }
        asort($ret);//排序
        var_dump($ret);

输出结果:

	[
	    '阿' => 1
	    '七' => 1
	    '打' => 1
	    '苏' => 1
	    '请' => 1
	    '群' => 1
	    '多' => 1
	    '所' => 1
	    '万' => 1
	    '水' => 1
	    '斯' => 1
	    '我' => 1
	    '嗯' => 1
	    '的' => 1
	    '岁' => 1
	    '问' => 2
	    '热' => 2
	    '若' => 2
	    '达' => 2
	    '二' => 2
	    '无' => 3
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值