【问题标题】:What does $variable ?: [] do?$variable ?: [] 做什么?
【发布时间】:2013-04-19 15:40:59
【问题描述】:
$variable ?: []

它有什么作用?这是一个三元运算符,但看起来有点不同,我不知道 [] 是什么意思。也许它是 5.4 的简写数组并创建一个空数组?

【问题讨论】:

  • 如果未设置$variable,此代码将抛出E_NOTICE。所以我会说最好测试if (!isset($variable)) { $variable = array(); }
  • 我不会说这是一个骗局。 dup 问题指定?:,这个问题是当?: 与no 如果为真。

标签: php


【解决方案1】:

这是以下的简写:

if ($variable) {
    // nothing
} else {
    $variable = array();
}

[] 是 PHP 5.4 对 array() 的简写

【讨论】:

  • 如果你要扩展它,是不是更有意义:if(!$variable) $variable = array()
  • 这取决于您要扩展它的严格程度。我会坚持我的解释。
【解决方案2】:

意思是:

如果$variable 有值,则使用该值,否则使用空数组。

[] 语法是 PHP 5.4 空数组的简写语法。
PHP 5.3 及更早版本会将其写为array()

换句话说,是的,你对这个问题的猜测几乎完全正确。

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2011-08-19
    • 2018-05-25
    • 2019-11-16
    • 2021-08-19
    相关资源
    最近更新 更多