我使用PHP大约3个月看到很多语法 但无法理解这是什么意思。
if($foo = 'somevalue') //or if($foo = $somevalue)
{
}
我只看到($ foo)这意味着if($ foo == TRUE)。或者if($ foo ==,>,< somevalue)
但在这种情况下,如果$ foo持有一些值???
答案 0 :(得分:2)
您只需同时将值分配给$foo
并在if
语句中对其进行评估。因此,如果$foo
的值对应false
,则if
语句中的代码将不会执行。举个例子:
if ($foo = 12) { // foo's value is now 12
// code here would execute
}
echo $foo; // 12
if ($foo = 0) { // foo's value is now 0
// would not execute
}
echo $foo; // 0
答案 1 :(得分:2)
许多人会说=
分配价值。但这在if语句中也很有用
if语句if($foo = 'somevalue')
通常很糟糕,因为it will always evaluate to true。但if($foo = $somevalue)
有点好一点,因为它与检查数据库查询结果时所看到的相似,例如
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10"))
如果$mysqli->query
成功运行if语句计算结果为true,因为函数的成功retunr结果不被视为FALSE,并且在if语句中,您可以期望$result
可用于其他mysqli_*
功能。
但是如果$mysqli->query
不成功,它将返回false并且if语句的计算结果为false,您可以设置else语句来输出错误。你会得到相同的结果
$somevalue = $mysqli->query("SELECT Name FROM City LIMIT 10")
if($foo = $somevalue)
但是当你可以一起跳过$somevalue
时,你有点浪费时间做这样的额外行
答案 2 :(得分:0)
此somevalue
语句只是
$foo
分配给somevalue
$foo
分配给if
在很多情况下,编写$foo
语句时出现错误,有人可能想要检查somevalue
的值是否为字符串if ($foo == 'somevalue') //$somevalue
。< / p>
要正确评估,需要以下
=
==
将分配新值,$a = 2;
if ($a = 3) {
echo "True";
} else {
echo "False";
}
//Output: True
比较两个值。有关详细信息,请参阅this question。
答案 3 :(得分:0)
如果您有单个=符号,则表示赋值运算符。即if条件总是返回true。
$a = 2;
if ($a == 3) {
echo "True";
} else {
echo "False";
}
//Output: False
然而,如果你使用逻辑运算符==,它将比较这两个值并返回布尔值true / false。
{{1}}