还真是这样,怪了..不过$len=strlen($s)显然有问题,strlen()函数不考虑字符编码,$len=strlen($s)取到的值是12,(我用的页面编码是UTF-8,如果换作其它编码可能会取到另外的值),所以用mb_strlen()取$s字符串的长度,mb_strlen()是多字节安全的..还有,你给出的代码运行时会报错:Notice: Undefined variable: s2 in C:\dev\htdocs\...下面的代码测试通过:
$s='我是新人'; 
$len=mb_strlen($s); 
echo $len;
$s2 = '';
for($x=0;$x <$len;$x++){
$s2=$s2.mb_substr($s,$x,1).' '; 
}
echo $s2;