在PHP中引用多字节字符串的最简单方法是什么?

我的问题:


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,但还没有准备好.它可能会在某个时刻到达那里,但还没有.

from the manual

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的对象和很多摆弄.在我看来不推荐.

点赞