sun*_*jie 1 php if-statement function return-value
关于函数的返回值和检查变量值,我有一个非常基本的问题.
function test($var1, $var2){
if ($var1 == $var2){
$var3 = "abc";
return $var3;
}
return false
}
$value = test($var1, $var2);
if ($value){
echo "Value is".$value; //should output abc.
} else {
echo "Not equal";
}
Run Code Online (Sandbox Code Playgroud)
是否可以返回值或返回false?例如,我没有返回TRUE,没关系?
当我调用该函数时,我将返回值存储在变量$ value中.我如何检查函数确实返回$ var3?应该使用哪种if条件?
if (!empty($value))
或者if (isset($value))
或if ($value)
或if (value != false)
是的,PHP中的常见做法是FALSE
作为错误条件的指示符返回.(构成错误的是你自己的决定,取决于函数应该做什么.)
但是,由于PHP自动将值转换为另一种类型的布尔值(如空字符串或者0
也可以评估FALSE
),您应该像这样进行显式检查FALSE
:
if ($value !== FALSE) ...
Run Code Online (Sandbox Code Playgroud)
正如Felix Kling在评论中指出的那样,这被称为"严格比较"(或"身份比较").它检查如果一个值是相同于FALSE
,其中如!= FALSE
,== FALSE
和if ($value)
只检查一个值可以被解释为FALSE
.