在php中,在echo语句之后“返回false”会做什么吗?

时间:2012-09-17 04:21:24

标签: php return echo

当我在php中显示错误消息时,我通常会这样做,

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

我在前端html页面中回显$error_msg变量。 我只是想知道变量后面的return false是否实际上做了什么,还是把它放在那里毫无意义?

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

2 个答案:

答案 0 :(得分:3)

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

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

如果确实让读者更清楚“这是一个停止/失败点”。有一天你可能想要实际陷阱,如果它工作或失败 - 所以留下它使它更清楚。您也可以在不考虑的情况下扩展功能,并且需要重新调整回报 - 再次,让它更容易。

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

所以,选择哪种适合你的风格 - 但要提前考虑。让所有东西保持原始和极简主义(即因为你并不严格需要它而放弃这条线)可能并不总是最好的方法。

答案 1 :(得分:1)

返回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

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