【问题标题】:function return code block query函数返回码块查询
【发布时间】:2012-04-27 00:41:12
【问题描述】:

关于 php 函数的快速问题,对你们中的一些人来说可能听起来很傻,但我不想养成坏习惯。这样做有什么问题吗?

function do_something($val)
{
  $a = 1;
  if ($val==$a)
  {
    return true;
  }
  return false;
}

代替;

function do_something($val)
{
  $a = 1;
  if ($val==$a)
  {
    return true;
  }
  else
  {
    return false;
  }
}

对不起,我认为我的例子不是很好。基本上,该函数可以将数据插入数据库或发送电子邮件等。使用这些函数,我现在可能只需要通过返回 true 或 false 来判断它是否成功。我想知道我可以使用更短的方法而不是 if-else 块是否合适。

我希望它更清楚。

【问题讨论】:

  • 也许只是一个坏例子,但当然应该只是return $val==$a;
  • 如果你看到一个if-else 只返回truefalse,那么你肯定是把事情复杂化了。

标签: php function return


【解决方案1】:

不是真的。两者的工作原理相同。但是,这样写会更简洁:

function do_something($val)
{
  $a = 1;
  return ($val==$a) ? true : false;
}

【讨论】:

  • ? true : false 在布尔表达式之后只是令人困惑和无用
  • 这个我知道;它有助于为他/她提供另一种简单退货的方式。他可能不想返回 return ($val ==$a) 无法按预期工作的布尔值。
  • 我认为这更令人困惑,因为您没有提示 ternary operator 是什么。
【解决方案2】:

这太酷了,因为当返回一个值时,函数是离开的,接下来发生什么都没有关系。

但是你可以缩短这个

function do_something($val)
{
  $a = 1;
  return $val == $a; // this condition will be evaluated to true/false
}

【讨论】:

    【解决方案3】:

    最短的方法:

    function do_something($val)
    {
      return ($val==1) ;
    }
    

    【讨论】:

      【解决方案4】:

      不,这很好,实际上在多种情况下都建议这样做。 :)

      【讨论】:

        猜你喜欢
        • 2021-12-22
        • 1970-01-01
        • 1970-01-01
        • 2018-04-09
        • 1970-01-01
        • 1970-01-01
        • 2015-06-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多