【问题标题】:In php, does "return false" do anything after echo statement?在 php 中,“return false”在 echo 语句之后有什么作用吗?
【发布时间】:2012-09-09 07:19:22
【问题描述】:

当我在php中显示错误信息时,我通常是这样的,

if($query){
    // Success code
}else{
    // Error message
    $error_msg = "An error occurred.";
    return false;
}

我在前端 html 页面中回显 $error_msg 变量。 我只是想知道变量后面的return false 是否真的做了任何事情,还是把它放在那里毫无意义?

我正在尝试优化我的代码,只是想确定一下!提前非常感谢!

【问题讨论】:

  • 取决于调用者的期望。但是应该尽可能使用异常。

标签: php return echo


【解决方案1】:

是的,它告诉函数停止执行,并返回一个值“false”。所以它做了一些事情。是否有用取决于您的编程。

如果回显后没有可执行行,并且函数不需要返回值,那么它实际上不会做任何有用的事情。

If 确实让读者更清楚“这是一个停止/故障点”。有一天,您可能想要真正捕获它是有效还是失败-因此将其保留会更清楚。您也可以不假思索地扩展功能,并且需要重新安装返回 - 再次,将其保留会使它更容易。

相反,还有 C/Assembler 时代的旧编程风格,即所有函数只有一个入口和一个出口点来帮助垃圾收集。不是 PHP 的要求,但这种风格确实使它变得漂亮和整洁。在这种情况下,设置返回值(如果需要)并在最后返回。

所以,选择适合您风格的 - 但请提前考虑。使所有内容都保持原始和简约(即在您并不严格需要时放弃)可能并不总是最好的方法。

【讨论】:

    【解决方案2】:

    返回 false 的目的是让您可以轻松地测试函数以查看它是否有效 - 而无需进入任何潜在的错误消息等。

    对于失败返回 false 的函数可以按以下方式使用:

    if(someFunction($var))
    {
        do stuff for function working...
    }
    else
    {
        // function failed. Do other stuff.
    }
    

    函数失败时返回 false 也很直观。它可以像这样进一步使用:

    $foo=someFunction($var);
    if($foo)
    {
        again, function has worked.
    }//... etc
    

    虽然返回的相同函数函数失败无法以直观的方式使用。

    【讨论】:

      猜你喜欢
      • 2015-06-03
      • 2017-11-04
      • 2012-03-12
      • 2011-11-15
      • 2022-12-13
      • 1970-01-01
      • 1970-01-01
      • 2021-11-14
      • 1970-01-01
      相关资源
      最近更新 更多