1.strlen()和mb_strlen()都是用于获取字符串长度。
2.其中strlen()只针对单字节编码字符,计算的是字符串的总字节数;
3.如果是多字节编码,如gbk和utf8,使用strlen()计算的不是字符的个数,是字符串的总字节数;
4.可以使用mb_strlen()获取其字符个数,使用mb_strlen()要注意两点,一是要开启mbstring扩展,二是要指定字符集;
int strlen(string $str);
mixed mb_strlen(string $str [,string $encoding=mb_internal_encoding()]);
参数:
$str:要检查长度的字符串
$encoding:字符编码,如果省略,则使用内部字符编码
mb_internal_encoding():设置/获取内部字符编码
<?php
$str = "php";
echo strlen($str); //3
$str2 = "安徽中医药大学php";
echo strlen($str2); // 24 当前页面是utf8字符集,如果是gbk,则结果为17
echo mb_strlen($str2); // 24 注意:未指定字符集,使用内部字符编码(单字节)ISO-8859-1;
echo mb_strlen($str2,"utf8"); // 10
?>