【问题标题】:Explain this PHP shorthand [duplicate]解释这个 PHP 速记[重复]
【发布时间】:2011-03-02 09:21:57
【问题描述】:

可能重复:
What is the PHP ? : operator called and what does it do?

我像个傻瓜一样喂食,但我不完全理解这段代码中发生了什么:

$var .= ($one || $two) ? function_one( $one, $another) : function_two( $two, $another);

这是否说明如果 $one 或 $two 则 $var 等于 fuction_one(),否则为 function_two()?使用这种语法的目的是什么——速度?

【问题讨论】:

标签: php


【解决方案1】:

如果$one 为真,或$two 为真,则调用function_one 的结果将附加到$var。否则,调用function_two 的结果会附加到$var

它基本上是以下的简写:

if ($one || $two) {
  $var .= function_one( $one, $another);
} else {
  $var .= function_two( $two, $another);
}

【讨论】:

    【解决方案2】:

    $var .= ($one || $two) ? function_one( $one, $another) : function_two( $two, $another);

    将 $var 附加到 function_one() 或 function_two() 的输出

    如果 $one 为真,则执行 function_one() 否则执行 function_two()

    【讨论】:

      【解决方案3】:

      如果$one$two 的计算结果为真,$var 会将function_one() 返回的值附加到自身,否则将附加function_two() 的结果。

      【讨论】:

        【解决方案4】:

        function_one()function_two() 都返回一个值。

        您正在将 $var 连接到这些函数之一的返回值,该函数基于评估 $one$two 的 if 语句,如果分配了 $one$tow 或返回 true,则从 @ 返回987654328@ 被连接,否则从function_tow() 返回的值是。

        【讨论】:

          猜你喜欢
          • 2011-08-19
          • 1970-01-01
          • 2017-01-03
          • 2015-03-28
          • 2013-04-08
          • 1970-01-01
          • 2017-03-12
          • 1970-01-01
          • 2013-12-25
          相关资源
          最近更新 更多