strlen,mb_strlen都是计算字符串长度的函数,但是还是有一些不同点
strlen
strlen(string $string) 返回值为整数
strlen(string表示接受一个字符串变量)
注:返回字符串所占字节个数,并不是真正的字符串个数
$str = 'abcd';
echo strlen($str);
输出结果:4
注:其中在utf8中,一个中文占三个字节,一个英文占一个字节(可以真实的返回字符串个数)
所以,它无法真实的返回字节个数
解决这个问题,我们采用mb_strlen
mb_strlen
mb_strlen(string $str,[,string $ending])
mb_strlen(要检查长度的字符串,字符编码,如果省略,则使用内部字符编码格式)
不含编码格式
$str = 'abcd';
echo mb_strlen($str);
输出结果:4
含编码格式
mb_strlen($str,'utf8');
输出结果:4