php中strlen和mb_strlen的区别

原创 木鱼  2017-10-19 07:30  阅读 453 次

strlen和mb_strlen都是计算字符串长度

但是这两个函数是有区别的,今天就说下这两个函数的区别

 

代码:

header("Content-type: text/html; charset=utf-8");
 
$str = '中文123'; 

echo mb_strlen($str);
echo '<br/>';
echo strlen($str);

运行结果:

为什么结果不一样? 

我们知道,通常中文在utf8字符集下面占3个字节,gbk下面占2个字节

那么3x2+3刚好等于9

原因是,strlen函数并不认识中文,所以就按照站的字节数来计算了

而mb_strlen函数,比较强大,他会用内部的编码,计算编码,得到正确答案

所以,如果想用函数计算字符串的长度,就用mb_strlen吧,mb_strlen也可以通过第二个参数指定编码

本文地址:https://www.m5yu.com/php-strlen-mbstrlen.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:木鱼博客
版权声明:本文为原创文章,版权归 木鱼 所有,欢迎分享本文,转载请保留出处!

发表评论