PHP函数中return empty语句的含义是什么?

时间:2016-05-12 09:15:12

标签: php function class object return

对不起, 也许这是一个非常非常基本的问题,但我真的对这个说法没有任何想法。这里的代码,谢谢之前:D

Class Trying{
   public function theFunction(){
    if (get_class($this) == __CLASS__) return;
   }
}
$try = new Trying();
$try->theFunction();

3 个答案:

答案 0 :(得分:2)

当调用函数时,您要求函数执行某些操作并return结果。当函数结束时,除非另有说明,否则它将return为空。

您的功能在做什么:

{
    Am I this class? Return null;
    Return null; //end of function. Does this automatically.
}

要有用,需要指定返回值,例如

{
    Am I this class? return true;
    Otherwise, return false;
}

return的值将是答案(truefalse)。

从您的代码开始:

public function theFunction(){
    if (get_class($this) == __CLASS__) return;
}

变为:

public function theFunction(){
    if (get_class($this) == __CLASS__) {
        return true;
    }
    return false;
}

可以重构为:

/**
 * Am I this class?
 * @return Boolean
 */
public function theFunction(){
    return (get_class($this) == __CLASS__);
}

答案 1 :(得分:1)

该代码没有意义。您可以使用return作为中断函数执行而不返回任何值的方法。但是你所展示的并没有意义,因为它总是在做同样的事情。如果条件为truefalse,则无关紧要。

如果您将该类用作另一个类的基类,并且在派生类中重写该方法,那么它是唯一有意义的方法。

答案 2 :(得分:0)

您需要返回一些值。你可以发送一些数据或简单的真或假。

您还可以返回一些将返回true或false的条件

Class Trying{
   public function theFunction(){
     return get_class($this) == __CLASS__;
   }
}

$try = new Trying();
if($try->theFunction()){
   echo 'true';
}else{
   echo 'false';
}