【发布时间】:2015-07-22 10:47:02
【问题描述】:
我的switch 语句中有此代码case strlen($search_term) > 15:。我无法弄清楚为什么希腊字符的解析方式不同。例如,长度为 10 的拉丁文 string 会通过 case,但如果 string 是希腊语,则不会。
除了解决方案,我希望能解释一下我的问题。
【问题讨论】:
-
mb_strlen 表示希腊字符!
我的switch 语句中有此代码case strlen($search_term) > 15:。我无法弄清楚为什么希腊字符的解析方式不同。例如,长度为 10 的拉丁文 string 会通过 case,但如果 string 是希腊语,则不会。
除了解决方案,我希望能解释一下我的问题。
【问题讨论】:
strlen() 返回字符串的字节,而不是长度。
许多希腊字符是 2 个字节而不是 1 个字节,这就是为什么你认为你得到错误的结果。
请改用mb_strlen():http://lt.php.net/manual/en/function.mb-strlen.php
希望对你有帮助
【讨论】: