为了账号安全,请及时绑定邮箱和手机立即绑定

提问:如果中英文同时存在怎么办?

提问:如果中英文同时存在怎么办?

正在回答

5 回答

<?php

$string = "你好 world";


echo (strlen($string) + mb_strlen($string, 'UTF8')) / 2;        //10


0 回复 有任何疑惑可以回复我~
<?php
$str='I love 中国';
$len1=strlen($str);
$len2=mb_strlen($str);
$len3=mb_strlen($str,'utf-8');
echo $len1;    //13
echo '<hr/>';
echo $len2;    //13
echo '<hr/>';
echo $len3;    //9
?>


0 回复 有任何疑惑可以回复我~
#1

三只松鼠

这样的话意思就是str()和mb_str()都是默认gbk编码,而mb_str($name,'utf-8')指定后才是utf-8编码,这样理解是不是就对啦
2016-01-06 回复 有任何疑惑可以回复我~
#2

三只松鼠 回复 三只松鼠

额 打错了 应该是stelen()、mb_strlen()
2016-01-06 回复 有任何疑惑可以回复我~
#3

greenhandc

我试了一下代码,结果是13 9 9而不是13 13 9;
2016-04-07 回复 有任何疑惑可以回复我~
#4

O_硕 回复 greenhandc

我试了一下是11 11 10
2016-07-14 回复 有任何疑惑可以回复我~
查看1条回复

直接用strlen();可以测试下中英共存的字符串,先分别测中文和英文部分的各自长度再用strlen测完整的字符串


0 回复 有任何疑惑可以回复我~

mb_strlen这个函数是针对中文的,但是字符串中的英文字符怎么办?也能跟随一起算出来?

0 回复 有任何疑惑可以回复我~

什么意思啊?

0 回复 有任何疑惑可以回复我~
#1

谢文东 提问者

‘这是imooc的教学课堂’的长度怎么获取?
2015-10-05 回复 有任何疑惑可以回复我~
#2

乔帮主 回复 谢文东 提问者

这个的话,要看中文编码啊!GBK编码和UTF-8编码的长度是不一样的!mb_strlen这个函数应该能满足你的要求
2015-10-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

提问:如果中英文同时存在怎么办?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信