我使用字符串[0]来缩短并显示用户名/姓氏的第一个字符.在用户的名字以ö,ä,ü等特殊字符开头之前,它一直很有效.
例如:
$name = 'über'; echo $name[0]; // echoes nothing
同时我使用的是mb_substr($string,1).但我真的很想念$name [0] :).它更快更短.我仍然想知道原因是什么,以及是否有办法将此语法与特殊字符一起使用.
解决方法
字符ü不是单字节字符.它是一个多字节(两个字节)字符.
您正在尝试访问字符串的第一个字节,因此它不起作用.正是出于这个原因,mb_substr已经设计好了.
Performs a multi-byte safe
substr()
operation based on number of characters. Position is counted from the beginning of str. First character’s position is 0. Second character position is 1,and so on.
如果你只是想尝试$name [0],它会得到多字节字符的第一个字符,它只是一个空字符串或一个控制字符来显示你上面的.. (以它为例,比如…… u =ü).