在PHP中引用多字节字符串的最简单方法是什么?
问题描述:
我的问题: 在PHP中很容易引用单个字节串,$single = "abc";
例如,在PHP中引用多字节字符串的最简单方法是什么?
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支持位于新版本的表格上,但尚未就绪。它会在某个时候到达那里,但还没有。
字符串是一系列字符,其中一个字符是相同的一个字节的。这意味着PHP仅支持256个字符的集合,因此不提供本地Unicode支持。
,你可以得到这个最接近的是实现使用__toString()
功能和摆弄的很多实施ArrayAccess
的对象。不建议在我看来。
+0
感谢您的“内幕消息”! William N. – BuckyBadger 2012-02-01 21:28:17
数组符号版本不是多字节感知的,只是将字符串视为单字节字符数组。子串访问没有多字节感知快捷方式符号。 – 2012-01-31 20:31:24
感谢您的反馈! /William N – BuckyBadger 2012-02-01 21:26:38