PHP中关于获取字符串长度的函数有很多个,像strlen,mb_strlen。但这些函数都是获取字节数的。
实际项目应用中有很多地方需要用PHP获取包含中文或英文的字数PHP自带的系统函数就满足不了,只能自定义函数来实现(只支持UTF8编码):
function utf8_strlen($string = null) { / 将字符串分解为单元 preg_match_all("/./us", $string, $match); / 返回单元个数 return count($match[0]); }
下面我们来进行一下测试:
$a = "中文"; echo utf8_strlen($a); $a = "english123"; echo utf8_strlen($a); $a = "中文andEnglishand123"; echo utf8_strlen($a);