!function()做了什么?

时间:2016-09-09 16:40:40

标签: php

我正在从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

2 个答案:

答案 0 :(得分:2)

!是逻辑运算符not。我们假设你定义了一个var:

$myVar = true ;
var_dump( !$myVar); // will echo false

您的call()函数将返回truefalse。因此!cal();将返回相反的falsetrue

查看PHP Manual

答案 1 :(得分:1)

函数call()返回truefalse!call()只会指示此函数的返回值为false的场景。

我个人喜欢用布尔返回值设置函数,当被调用时,等于变量,所以我肯定会写:

$val = call();

if(!$val) {}

在您的情况下,如果您想将代码减至最少,可以编写

echo call() ? "true" : "false";

替换这些行:

if(call())
{ 
    echo "true";
}

if(!call()) // or if(!call())
{
    echo "false";
}