strlen和mb_strlen区别

strlen和mb_strlen都是用于获取字符串长度的;
strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数,
如果是多字节码编码,如gbk和utf8,使用strlen得到的不是字符的个数,而是该字符的总字节数,
可以使用mb_strlen获取其字符个数,使用mb_strlen要注意两点,一是要开启mbstring扩展,而是要指定字符集。
strlen():计算字节个数;中文占3个字节
mb_strlen():计算字符个数;gbk中文半个;utf中文占1个字符

 

<?php
 //当前页面是utf8编码   
$str = '中文89PHP';

echo strlen($str)."<br/>"; //中文+数字+英文:6 + 2 + 3 = 11
echo mb_strlen($str, 'gbk')."<br/>"; //中文+数字+英文:3 + 2 + 3 = 8
echo mb_strlen($str, 'utf8')."<br/>"; //中文+数字+英文:2 + 2 + 3 = 7

 

posted @ 2019-05-17 17:43  王默默  阅读(458)  评论(0编辑  收藏  举报