微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP函数在哪里返回false?

如何解决PHP函数在哪里返回false?

| 做这个
function doThings(){
  if($oh){
    return $oh;
  }
  return false;
}
等于这个
function doThings(){
  if($oh){
    return $oh;
  }else{
    return false;
  }
}
谢谢!     

解决方法

是的,两者都一样。就个人而言,我更喜欢在同一位置退出功能。例如
function doThings(){
  $flag = false;
  if($oh){
    $flag = $oh;
  }
  return $flag;   
}
    ,在上面概述的方案中,是。两者都应该工作正常。我更喜欢第一种方法,更少的输入和全部。     ,是的,这些功能在行为上完全相同。     ,是。 它们或多或少等于:
function doThings(){
    return $oh;
}
严格来说,这不是真的,因为PHP具有其他\“ falsey \”值,而不是false,但是如果您要返回
$oh
或falsey值,则可以正常工作。 编写等效功能的另一种方法是:
function doThings(){
    return $oh ? $oh : false;
}
    ,要回答这个问题,我们必须首先质疑我们是谁,无论是个人还是人……只是在开玩笑,出于所有密集的目的,他们都是一样的。     ,是的,他们是一样的。 小建议: 我更喜欢以下内容:
function do() {
    if (!$oh) {
      return false;
    }
    return $oh;
}
这样,您就不会像第二个示例中那样有多余的bracet。但是您始终知道您的值将返回到何处(在函数末尾)。这样可以更快地找到和浏览功能。     ,我会这样写:
function doThings() {
  return $oh ?: false;
}
或更早版本的PHP:
function doThings() {
  return $oh ? $oh : false;
}
或者,根据功能:
function doThings() {
  $oh = null; // set to some default;

  // do stuff

  return $oh;
}
    ,莫: 如前所述,这两个功能的作用完全相同。您可能还想尝试做这样的事情(在某些情况下这可能是有益的)
function doSomething() {
  $return_value = false;

  if($oh) {
    $return_value = true;
  }

  return $return_value;
}
这没什么特别的,只是重组。     ,两者都一样。遇到return语句后,控件将传递回调用此函数的代码。 由于较少的代码,第一个比第二个更可取。     ,两者具有相同的行为。 您可以放置​​的位置取决于您的方案。     ,请注意,由于return是语言构造而不是函数,因此不需要在其参数周围加上括号。通常将它们排除在外,实际上您应该这样做,因为在这种情况下PHP要做的工作较少。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。