这是我的问题:我的语言(葡萄牙语)使用ISO-8859-1字符编码!当我想从像“科拉桑”(心脏),我用一个字符串访问字符:有很简单的方法来从PHP中的多字节字符串中获取一个字符?
mb_internal_encoding('ISO-8859-1');
$str = "coração";
$len = mb_strlen($str,'UTF-8');
for($i=0;$i<$len;++$i)
echo mb_substr($str, $i, 1, 'UTF-8')."<br/>";
这将产生:
c o r a ç ã o
这工作得很好。但我的问题是,如果使用mb_substr函数不是像简单字符串那样快速正常访问!但我想要一个简单的方法来做到这一点....就像在正常的字符串字符访问:echo $ str [$ pos] ....这是可能的吗?
嗯...但我的问题是关于一个有效的方式做这些访问。我测试了一个正常的字符串连接循环($ new_str。= $ old_str [2] - 仅用于测试...)和使用mb_substr($ new_str。= mb_substr($ old_str,2,1,'UTF-8')和I (循环50 000次迭代):0.016 s到4.9802091121674 s到mb_substr函数的正常访问!这是一个很大的性能问题! – 2012-04-28 05:20:43
使用固定宽度的编码,你可以使用一个固定的乘法器 – 2012-04-28 05:21:53
我该怎么做呢?给我举一个例子! – 2012-04-28 05:22:52