不知道 php里面是用什么方法比较字符串的,是哈希比较么
哈希吧,这不止比较数据啊,很多情况下还要比较在文件中的储存位置。
比较两个字符串是否相等,最常见的方法就是使用“===”来判断,至于它和“==”的区别,简单来说就是前者强调“identical”类型也要求一样;后者要求“equal”,值相同就可以了。或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在那里不同.。
一般能用 !=, == 比较两个对象是否相等,只所以说是两个对象,是因为他们不一定全部为字符串,也能为整型等等。比如
$a = “obj”;
$b = “objc”;
if ($a != $b)
{
echo “不相等”;
}
else
{
echo “相等”;
}
//输出不相等
如果用 !==,===(能看到多了一个等号)比较的话,两个对象的类型要严格相等才能返回true;否则用==,!=则会将字符串自动转换成相应的类型,以便进行比较.
$a = "22";
$b = 22;
$a == $b; // 返回 true
$a === $b ; // 返回false
正因为这样,所以我们的程式时常会发生一些想不到的“意外”.
使用 ==