【问题标题】:What is the meaning of return empty statement in PHP FunctionPHP函数中return empty语句是什么意思
【发布时间】:2016-09-08 00:30:48
【问题描述】:

之前很抱歉, 也许这是一个非常基本的问题,但我真的不知道这个说法。这里是代码,谢谢之前:D

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

【问题讨论】:

  • 只是结束函数,什么都不返回,函数刚刚退出。
  • 通常,使用 return 将跳过函数其余部分的执行。在这里,作为函数中的最后一条语句,它确实没有任何意义,因为函数无论如何都会返回。
  • 这意味着:结束当前方法/功能的执行 但不是程序本身。字; 此时跳出方法,闭嘴!不要让任何人知道你刚刚做了什么......就像回到派你来的人那里,但永远不要对他说一句话,否则你会被解雇!

标签: php function class object return


【解决方案1】:

该代码没有意义。您可以使用return 作为中断函数执行而不返回任何值的方法。但是在你展示的那个没有意义,因为总是在做一模一样的。不管条件是true 还是false

如果您将该类用作另一个类的基类,并在派生类中覆盖该方法,则唯一的方法是。

【讨论】:

  • 这段代码很有意义... 1.) 你可以看到这个类的名字是 Trying 2.) OP 只是对 return 方法中的关键字 的含义感到好奇。当然,代码没有做任何合理的事情,因为它的设计目的不是为了做任何事情或具有实际、适用的意义,而是为了理解一个概念...... ;-)跨度>
  • 这没有意义(对我来说),因为没有上下文可以让代码做一些不同的事情,或者它会返回任何东西。那段代码总是返回相同的,条件是否完成并不重要。换句话说:这只是 CPU 浪费。事实上,唯一可以改变它的就是重写派生类中的方法。
  • 放松! 除非你在出生的同一天说话、走路、跑步并支付房租,否则你只是错过了重点。 哥们正在学习,这个问题与SO中评分最高的问题。但你是对的:(FOR YOU) 这毫无意义......但对于其他明白问题的人来说却不是(因此是代码)。并且永远记住这一点:一个伟大的大师永远是他自己最好的学生。 OP 是在学习,而不是真正的编码。 再看看在类的名称 [尝试] 并可视化上下文,如果你愿意
【解决方案2】:

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

你也可以返回一些返回真或假的条件

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

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

【讨论】:

    【解决方案3】:

    当一个函数被调用时,你是在要求函数做某事并且return 得到结果。当一个函数结束时,除非另有说明,否则它将return null。

    你的函数在做什么:

    {
        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__);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-22
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      • 2011-11-18
      相关资源
      最近更新 更多