永发信息网

用PHP统计字符串长度?

答案:4  悬赏:80  手机版
解决时间 2021-04-03 03:39
用PHP统计字符串长度?
最佳答案
PHP 计算字符串长度代码示例如下,具体逻辑在代码中。
//统计字符串长度,适用中文,字母,数字混编
function get_strlength($str) {
    //强字符串统一转换为utf-8格式
    $encode = mb_detect_encoding( $str, array('ASCII','UTF-8','GB2312','GBK'));
    if (!$encode =='UTF-8'){
        $str = iconv('UTF-8',$encode,$str);
    }
    //初始化字符串长度    
    $count = 0;
    
    //循环统计
    for($i = 0; $i < strlen($str); $i++){
        //获取字符串首字母对应的ASCII值
        $value = ord($str[$i]);
        
        if($value > 127) {
            $count++;
            if($value >= 192 && $value <= 223){
                $i++;
            }elseif($value >= 224 && $value <= 239){
                $i = $i + 2;
            }elseif($value >= 240 && $value <= 247){
                $i = $i + 3;
            }else{
                die('字符串异常!!');
            } 
        }
        $count++;
    }
    return $count;
}

//测试
echo get_strlength("中国人2015年的gdp为:6666");
//25
?>
全部回答
php有自带函数:strlen
还是用php自带的函数strlen吧,顺便把官方手册上的例子给你:
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7?>
很简答啊,因为你的函数第一句写错了if($str = "") return 0;这个$str= ""不是判断是赋值!应该是
function sstrlen($str){
if($str == "") return 0;
else{
$i=-1;
do{
$i++;
}while($str[$i]!=NULL);
}
return $i;
}
$str = "hello";
echo sstrlen($str);
试试吧!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
目前3500到4000价位联想笔记本计算机系学生用
毒岛百合子的赤裸日记 美酱和百合子唱的什么
衣长70是多少呀
RAIN在天生缘分周年特辑里跳舞的舞曲名字是什
给孤寡老人表演节目
java实现cs和bs时根本区别在哪里?
我家银龙噻那红怎么回事
下列说法正确的是A.用手竖直握住一瓶子,此时
我吃了玛卡没什么反应我晚上睡不好觉白天没精
有一个关于产生农夫的金手指小说是什么名字
核桃木和柏木的区别
方城县南阳尚美佳养生哪位知道具体地址啊
一弹簧振子的质量为10g,做简谐运动时,其振幅
比较cos36与cos25值的大小
鹏达物流有限公司(水头镇高速路口扑里停车场
推荐资讯
男,身高170,体重170斤,穿40的衬衫?r
一杯水上面浮着一块冰,当冰融化以后水面怎样
抹灰前混凝土面要喷浆,请问这个浆是指素水泥
PERT II型管件由什么材质构成?
女方姓任和男方姓蔡可以结婚不
螺旋钻孔压灌桩钢筋笼长度。
如果追一个女孩,被拒绝一次就不追了,是不是
蓝天湘一培训资兴校区地址在什么地方,想过去
说话的神情的词语
信用卡额度五万算高嘛
wow转移角色提示我邮箱没有清理完,可我的时
地下水的溶蚀作用造成哪些岩溶现象
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?