php中常见的计算字符串长度的函数有:strlen()和mb_strlen()两个函数
区别
strlen()是PHP内置函数,但是他无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍(在 UTF-8编码下,一个汉字占3个字节)。
对于中文环境来说,使用mb_strlen()函数更为方便,mb_strlen()函数比strlen()函数多出了一个语法参数。
语法
mb_strlen(string[, string $encoding = mb_internal_encoding() ] ))
mb_internal_encoding() 用于设置/获取内部字符编码。
参数 | 描述 |
---|---|
string | 必需。规定要检查的字符串。 |
encoding | 可选。字符编码。如果省略,则使用内部字符编码。 |
第二个可选参数用于指定字符编码,如果省略第二个参数,则会使用PHP的内部编码。