我正在从php手册中查找true / false bool条件,我认为这应该是错误的,但它回应了真实。那么!call()
真正做到了什么?它是说该功能正在运作吗?
http://php.net/manual/en/control-structures.if.php
<?php
$true=0; //false
function call($true)
{
if ($true =1){
return TRUE;
}
if ($true =0){
return FALSE;
}
}
if(call()) {
echo "true";
}
if(!call()) // or if(!call()) {
echo "false";
}
if($true) {
echo "<br>true";
}
if(!$true) {
echo "<br>false";
}
?>
输出:
true
false
答案 0 :(得分:2)
!
是逻辑运算符not
。我们假设你定义了一个var:
$myVar = true ;
var_dump( !$myVar); // will echo false
您的call()函数将返回true
或false
。因此!cal();
将返回相反的false
或true
。
查看PHP Manual。
答案 1 :(得分:1)
函数call()返回true
或false
。 !call()
只会指示此函数的返回值为false的场景。
我个人喜欢用布尔返回值设置函数,当被调用时,等于变量,所以我肯定会写:
$val = call();
if(!$val) {}
在您的情况下,如果您想将代码减至最少,可以编写
echo call() ? "true" : "false";
替换这些行:
if(call())
{
echo "true";
}
if(!call()) // or if(!call())
{
echo "false";
}