我的PHP代码中有一个switch语句,它似乎不会执行UTF-8字符的情况,即使输入到switch的值是UTF-8字符。它适用于所有其他角色。
CODE:
echo $word[$i];
switch($word[$i]){
case "a": echo "aaaa"; break;
case "č": echo "aaaa"; break;
}
如果$ word [$ i]为“a”,则代码回应“a”和“aaaa”如果$ word [$ i]为“č”,则代码回显“č”但不回显“aaaa” 。它只是忽略了“č”的情况。我也试过单引号的案例。
答案 0 :(得分:0)
如果有人有一天需要使用“str_split”来获取utf-8字符串,那么这里有工作函数:
function str_split_utf8 ($string, $split_length = 1)
{
$length = (int) $split_length;
$string = (string) $string;
if ($length < 1)
{
return false;
}
return preg_split("/(.{{$length}})/us", $string, -1,
PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
}