用于PHP的合并功能?

许多编程语言都有一个coalesce函数(返回第一个非NULL值,例如)。 不幸的是,在2009年,PHP并没有。

在PHP本身获得coalesce函数之前,用PHP实现一个好的方法是什么?


在PHP 5.3中有一个新的操作符可以这样做: ?:

// A
echo 'A' ?: 'B';

// B
echo '' ?: 'B';

// B
echo false ?: 'B';

// B
echo null ?: 'B';

资料来源:http://www.php.net/ChangeLog-5.php#5.3.0


PHP 7引入了一个真正的合并运算符:

echo $_GET['doesNotExist'] ?? 'fallback'; // prints 'fallback'

如果之前的值?? 不存在或null的值为?? 被采取。

在上面提到的改善?:运营商,即?? 也处理未定义的变量而不抛出E_NOTICE


首先在google上打“php coalesce”。

function coalesce() {
  $args = func_get_args();
  foreach ($args as $arg) {
    if (!empty($arg)) {
      return $arg;
    }
  }
  return NULL;
}

http://drupial.com/content/php-coalesce

链接地址: http://www.djcxy.com/p/9935.html

上一篇: Coalesce function for PHP?

下一篇: strange behaviour ternary operator