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

时间:2012-01-31 20:20:02

标签: 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 "å"

但是,有没有更简单的方法呢? 我特别想找到一种方法,我可以用方括号引用多字节字符串,只有一个参数用于单字节情况。

1 个答案:

答案 0 :(得分:2)

不,新版本的表支持Unicode,但还没有准备好。它可能会在某个时刻到达那里,但现在还没有。

from the manual

  

字符串是一系列字符,其中一个字符与一个字节相同。这意味着PHP仅支持256个字符集,因此不提供本机Unicode支持。

你可以得到的最接近的是使用ArrayAccess函数实现__toString()实现的对象和大量的摆弄。在我看来不推荐。