我的问题:
在
PHP中,很容易引用单字节字符串,$single =“abc”;例如,
echo $single[0]; //"a"
但是对于多字节字符串$multi =“äåö”,我得到“废话”,即
echo $multi[0]; //?
我知道可以通过编码引用多字节字符串的各个字母,如下所示:
mb_internal_encoding("UTF-8");
echo mb_substr($multi,1,1);//which gives the right answer "å"
但是,有没有更简单的方法来做到这一点?
我特别想找到一种方法,我可以用方括号引用多字节字符串,只有一个参数用于单字节情况.
最佳答案 不,新版本的表支持Unicode,但还没有准备好.它可能会在某个时刻到达那里,但还没有.
A string is series of characters, where a character is the same as a byte. This means that PHP only supports a 256-character set, and hence does not offer native Unicode support.
你可以得到的最接近的是使用__toString()函数实现一个实现ArrayAccess的对象和很多摆弄.在我看来不推荐.