如何比较阿拉伯语和假名全宽数字


How to compare arabic- and kana full-width digits?

如何在PHP中比较两个字符串

県19−1県225−3県96−1

県19-1県225-3県96-1

?

第一个包含假名全宽数字,比较应该将它们视为等于阿拉伯数字。

您可以先使用mb_convert_kana()函数将所有的zen-kaku(全宽)字符转换为它们的han-kaku(半宽)等效字符,然后进行比较,如下所示:

$string1 = "県19−1県225−3県96−1";
$string2 = "県19-1県225-3県96-1";
var_dump($string1 === $string2);    // This is false because they are different.
// Convert fullwidth to halfwidth.
$string1 = mb_convert_kana($string1, "a");    // Specify "a" for converting both alphabets
$string2 = mb_convert_kana($string2, "a");    // and numbers. See doc for other options.
var_dump($string1 === $string2);    // This becomes true, both are "県19-1県225-3県96-1".

注意mb_convert_kana()位于mbstring扩展名中,该扩展名不是默认扩展名,因此您可能必须先安装它。