这是在PHP中返回值的正确方法

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)
  1. 是否可以返回值或返回false?例如,我没有返回TRUE,没关系?

  2. 当我调用该函数时,我将返回值存储在变量$ value中.我如何检查函数确实返回$ var3?应该使用哪种if条件? if (!empty($value))或者if (isset($value))if ($value)if (value != false)

Tom*_*lak 5

是的,PHP中的常见做法是FALSE作为错误条件的指示符返回.(构成错误的是你自己的决定,取决于函数应该做什么.)

但是,由于PHP自动将值转换为另一种类型的布尔值(如空字符串或者0也可以评估FALSE),您应该像这样进行显式检查FALSE:

if ($value !== FALSE) ...
Run Code Online (Sandbox Code Playgroud)

正如Felix Kling在评论中指出的那样,这被称为"严格比较"(或"身份比较").它检查如果一个值是相同FALSE,其中如!= FALSE,== FALSEif ($value)只检查一个值可以被解释FALSE.