算出某个字符串中中文的个数
$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