算出某个字符串中中文的个数
$str = "中文english";
echo strlen($str);
echo "<br>";
echo mb_strlen($str, "utf8");
上面代码运行结果为
13
9
大家都知道,一个中文所占的字节数为 2,一个字母占 1 所以如果字符串中无中文时,这两个函数所求得出的字符长度是一样的。
有中文的话,使用 strlen
计算字符串时,有一个中文字符就会 比 mb_strlen
多出两个字节 所以中文个数为这两个函数计算出的结果除以中文字节个数
strlen(str) - mb_strlen(str, "utf8") / 2