【发布时间】:2011-03-06 07:16:06
【问题描述】:
直到今天我才注意到并发现了使用 === 运算符的重要性。您可以在以下示例中看到它:
$var=0;
if ($var==false) echo "true"; else echo "false"; //prints true
$var=false;
if ($var==false) echo "true"; else echo "false"; //prints true
$var=0;
if ($var===false) echo "true"; else echo "false"; //prints false
$var=false;
if ($var===false) echo "true"; else echo "false"; //prints true
问题是,在任何情况下使用 === 运算符而不是 == 运算符很重要?
【问题讨论】:
-
你可以说
echo $var == false;等等。 -
@Chris。我已经看过那个问题了。但我的问题是关于示例,考虑使用“===”运算符而不是“==”运算符非常重要。
-
@Skilldrick:不,你不能。 PHP 不会自动将布尔值转换为“true”/“false”字符串。您的示例将产生
1(对于true)或空字符串(对于false)。但是,可以通过使用三元运算符来缩短示例,如下所示:print ($var == false) ? 'true' : 'false';。 -
@Jakob:很公平!好点子。