在PHP函数中返回false的位置?

时间:2011-04-13 15:07:06

标签: php function coding-style

这是

吗?
function doThings(){
  if($oh){
    return $oh;
  }
  return false;
}

等于这个

function doThings(){
  if($oh){
    return $oh;
  }else{
    return false;
  }
}

谢谢!

11 个答案:

答案 0 :(得分:9)

在上面列出的方案中,。要么应该工作正常。我更喜欢第一种方法,更少打字和所有。

答案 1 :(得分:9)

是的,两者都是一样的。就个人而言,我更喜欢在同一个地方退出一个功能。 e.g。

function doThings(){
  $flag = false;
  if($oh){
    $flag = $oh;
  }
  return $flag;   
}

答案 2 :(得分:3)

是的,这些功能在行为上完全相同。

答案 3 :(得分:2)

他们或多或少等于:

function doThings(){
    return $oh;
}

这并不严格,因为PHP有​​其他“假”值而不是假,但如果你想返回$oh或假值,那么这样可以正常工作。

编写等效函数的另一种方法是:

function doThings(){
    return $oh ? $oh : false;
}

答案 4 :(得分:1)

要回答这个问题,我们首先必须质疑我们作为个人和人民的身份......开玩笑,为了所有密集的目的,他们都是一样的。

答案 5 :(得分:1)

是的,他们是一样的。

快速提示:

我更喜欢以下内容:

function do() {
    if (!$oh) {
      return false;
    }
    return $oh;
}

这样你没有第二个例子中的额外支撑。但是你总是知道你的值返回的位置(在函数的末尾)。这样可以更快地定位和浏览功能。

答案 6 :(得分:1)

我会这样写:

function doThings() {
  return $oh ?: false;
}

或者使用早期版本的PHP:

function doThings() {
  return $oh ? $oh : false;
}

或者,取决于功能:

function doThings() {
  $oh = null; // set to some default;

  // do stuff

  return $oh;
}

答案 7 :(得分:0)

沫:

如前所述,这两个功能完全相同。您可能还想尝试做这样的事情(这可能是有益的)

function doSomething() {
  $return_value = false;

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

  return $return_value;
}

这不做任何特别的事情,它只是一次重组。

答案 8 :(得分:0)

两者都这样做。遇到return语句后,控件将传递回调用此函数的代码。

第一个优先于第二个,因为代码较少。

答案 9 :(得分:0)

  1. 都有相同的行为。
  2. 你可以放置取决于你的场景。

答案 10 :(得分:0)

请注意,由于return是一种语言结构而不是函数,因此不需要围绕其参数的括号。将它们排除在外是很常见的,实际上你应该这样做,因为PHP在这种情况下做的工作较少。