为了检查一个字符串是否与另一个字符串匹配,我到目前为止一直使用双等号.例如
if ($string1==$string2)
这是因为我使用的大部分字符串都是字母数字.但是现在我用这样的数值尝试同样的事情:
$string1 = 10; $string2 = 10;
问题是,我做一个等于或等于两个字符串以确保两个字符串匹配100%而不是更少而不是精确
我也这样做:
if ($string1==$string2)
要么
if ($string1=$string2)
Amber.. 7
Double equals(==
)可能是你想要用于比较的东西.(您也可以使用三等于即===
'严格'比较,因此这"2" === 2
将是假的.)
单个等号是一个赋值:它会覆盖左侧,然后您的if
语句将等同于检查已分配的值(例如右侧的值).
例如,这将打印It's not zero!
后跟foo = 1
(正如您所期望的):
$foo = 1; if ($foo == 0) { print("It's zero!"); } else { print("It's not zero!"); } print("foo = " + $foo);
但这将打印It's not zero!
后跟foo = 0
(可能不是你所期望的):
$foo = 1; if ($foo = 0) { print("It's zero!"); } else { print("It's not zero!"); } print("foo = " + $foo);
原因是在第二种情况下,$foo = 0
设置 $foo
为0,然后将if
其评估为if($foo)
.由于0
是false值,因此else
运行该语句.
Double equals(==
)可能是你想要用于比较的东西.(您也可以使用三等于即===
'严格'比较,因此这"2" === 2
将是假的.)
单个等号是一个赋值:它会覆盖左侧,然后您的if
语句将等同于检查已分配的值(例如右侧的值).
例如,这将打印It's not zero!
后跟foo = 1
(正如您所期望的):
$foo = 1; if ($foo == 0) { print("It's zero!"); } else { print("It's not zero!"); } print("foo = " + $foo);
但这将打印It's not zero!
后跟foo = 0
(可能不是你所期望的):
$foo = 1; if ($foo = 0) { print("It's zero!"); } else { print("It's not zero!"); } print("foo = " + $foo);
原因是在第二种情况下,$foo = 0
设置 $foo
为0,然后将if
其评估为if($foo)
.由于0
是false值,因此else
运行该语句.