如何在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扩展名中,该扩展名不是默认扩展名,因此您可能必须先安装它。