在PHP中输出UTF-8数组的第一个字符
我试图从PHP中的希伯来数组中挑出一个字符 str_split函数似乎不起作用,数组中的字符显示为带问号的黑色菱形 如果我回显一个字母,屏幕输出显示“Array” 我还尝试将字符串作为数组处理,并执行如下操作:echo$string[0];。然而,这并没有给我不同的结果 在使用UTF-8编码格式时,如何识别单词的第一个字母?您可以使用 如果我回显一个字母,屏幕输出显示“Array”在PHP中输出UTF-8数组的第一个字符,php,arrays,utf-8,Php,Arrays,Utf 8,我试图从PHP中的希伯来数组中挑出一个字符 str_split函数似乎不起作用,数组中的字符显示为带问号的黑色菱形 如果我回显一个字母,屏幕输出显示“Array” 我还尝试将字符串作为数组处理,并执行如下操作:echo$string[0];。然而,这并没有给我不同的结果 在使用UTF-8编码格式时,如何识别单词的第一个字母?您可以使用 如果我回显一个字母,屏幕输出显示“Array” 只有当您试图打印数组时,它才会这样做。如果$array是您的unicode字符串数组 mb_internal_e
只有当您试图打印数组时,它才会这样做。如果
$array
是您的unicode字符串数组
mb_internal_encoding("utf-8");
foreach ($array as $key=>$value){
$firstchar[$key]=mb_substr($value, 0, 1);
}
var_export($firstchar);
您使用的是什么版本的PHP?显示为黑色菱形,内部带有问号,这意味着无论您在哪里打印它,都没有正确的编码和字体来显示字符。@Shmuli不工作对任何人都没有帮助。当你尝试它时,有什么不起作用?@alex,可能错过了/没有应用
$encoding
参数<代码>mb_substr($str,0,1,'UTF-8')代码>@OP应该使用的已损坏。@alex,OP的问题是字符串数组,而不是字符串数组strings@AmirOP当然可以将代码包装在一个下标循环中(它们是首选成员):)
mb_internal_encoding("utf-8");
foreach ($array as $key=>$value){
$firstchar[$key]=mb_substr($value, 0, 1);
}
var_export($firstchar);