【问题标题】:why PHP skip my return command?为什么 PHP 跳过我的返回命令?
【发布时间】:2019-01-31 14:16:12
【问题描述】:

我想知道为什么会这样。我有这样的代码(我把 return 只是为了调试):

public function foo($var) {
    do_something_here;
    return 'stop';
    if ($var > 0)
    { return 'true'; }
    return 'false';
}

我得到的是我的函数并没有像预期的那样停在return 'stop' 行(它仍然继续返回'true'(如果它为假,则返回'false')。这是否意味着return 命令必须是放在函数的最后一行(或在条件语句中)?

【问题讨论】:

  • 不,它会返回并且不执行其余代码,3v4l.org/ZObXM
  • 但是在 Laravel 函数中我创建了类似的东西,然后在 jQuery 中接收返回值。而且 jQuery 仍然在真假之间读取,没有停止。听起来怪怪的。 @LawrenceCherone
  • 你的 do something here 可能包含一个 if 语句,它会阻止函数在 return 'stop' 处停止;
  • 我清理了我的缓存,现在它按预期返回停止。缓存会影响 PHP 脚本吗? @小学
  • 是的,这是可能的。一些 PHP 应用程序使用缓存来避免重新加载多次相同的文件。一些函数也可以被缓存,因此任何修改都将在缓存清理后反映...

标签: php return return-value return-type


【解决方案1】:

我清理了浏览器缓存并解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 2022-07-30
    • 1970-01-01
    相关资源
    最近更新 更多