我在php.net上找不到这个信息。在PHP中,使用双等号(==
)比较字符串时,它是否区分大小写?
我在php.net上找不到这个信息。在PHP中,使用双等号(==
)比较字符串时,它是否区分大小写?
是的,但它会逐字节进行比较。
如果你正在比较 Unicode 字符串,你可能希望先对它们进行规范化。请参阅 Normalizer
类。
示例(输出为 UTF-8):
$s1 = mb_convert_encoding("\x00\xe9", "UTF-8", "UTF-16BE");
$s2 = mb_convert_encoding("\x00\x65\x03\x01", "UTF-8", "UTF-16BE");
//look the same:
echo $s1, "\n";
echo $s2, "\n";
var_dump($s1 == $s2); //false
var_dump(Normalizer::normalize($s1) == Normalizer::normalize($s2)); //true
是的,==
区分大小写。
顺便提一下,如果要进行不区分大小写的比较,请使用 strcasecmp
函数:
<?php
$var1 = "Hello";
$var2 = "hello";
echo (strcasecmp($var1, $var2) == 0); // TRUE;
?>
==
是区分大小写的。
如果要不区分大小写比较字符串,可以使用 strtolower($x) == strtolower($y)
或者 strcasecmp($x, $y) == 0
==
"是区分大小写的,还有一些其他的操作符需要熟悉,请参考PHP手册:http://www.php.net/manual/en/language.operators.comparison.php"是的,==
是区分大小写的。对于我来说,最简单的方法是将其转换为大写然后进行比较。例如:
$var = "Hello";
if(strtoupper($var) == "HELLO") {
echo "identical";
}
else {
echo "non identical";
}
我希望它能够工作!
if( md5('string1') == md5('string2') ) {
// strings are equal
}else {
// strings are not equal
}