因为汉字是双字节编码,所以在PHP中无法直接处理,不过我们可以通过下面方法把字符串转化成双字节数组,然后进行遍历:
function mb_str_split( $string ) {
// /u表示把字符串当作utf-8处理,并把字符串开始和结束之前所有的字符串分割成数组
return preg_split('/(?<!^)(?!$)/u', $string );
}
$str = "中文测试";
for($i=0;$i<strlen($str);$i++) {
$k = $str[$i]; //输出乱码
}
foreach (mb_str_split($str) as $c)
{
echo $c; //正常输出:中 文 测 试
}