PHP布尔值真/假?
我想不出来 如果我键入:PHP布尔值真/假?,php,boolean,Php,Boolean,我想不出来 如果我键入: function myfunction(){ ...... if ... return TRUE; if ... return FALSE; } 为什么我不能这样使用它: $result = myfunction(); if ($result == TRUE) ... if ($result == FALSE) ... 或者我必须使用: $result = myfunction(); if ($result =
function myfunction(){
......
if ...
return TRUE;
if ...
return FALSE;
}
为什么我不能这样使用它:
$result = myfunction();
if ($result == TRUE)
...
if ($result == FALSE)
...
或者我必须使用:
$result = myfunction();
if ($result == 1)
...
if ($result == 0)
...
或者这个:
$result = myfunction();
if ($result)
...
if (!$result)
...
记住,值-1被认为是真的,就像任何其他非零(无论是负数还是正数)数字一样。FALSE将是0 obv.。您可以这样做
$result = myfunction();
if ($result === TRUE)
...
if ($result === FALSE)
...
你可以使用
if($result==TRUE)
,但这太过分了,因为if($result)
就足够了。我不完全理解你的问题,但你可以使用你提供的任何示例,但要注意以下几点:
如果你说If(a==TRUE)
(或者,因为与TRUE
的比较是多余的,简单地说If(a)
),那么你必须理解PHP会将一些事情评估为TRUE:1、2987、“hello”等等。;它们都是“真正的”价值观。这很少是一个问题,但你应该理解它
但是,如果函数返回的值大于
true
或false
,则您可能有兴趣使用=
==
确实比较了变量的类型:“a”==true
是true
,但是“a”==true
是false。如果您不需要使用结果变量$result,我将执行以下最短版本:
if (myfunction()) {
// something when true
} else {
// something else when false
}
小注释:代码如下:
if…返回true;否则返回false代码>应始终重写为返回…==true代码>或者,在类型安全语言中,只需返回代码>。if
在这里根本没有意义,因为我们正在测试的条件已经对应于返回值。
if (myfunction()) {
// something when true
} else {
// something else when false
}