首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP的合并函数?

PHP的合并函数?
EN

Stack Overflow用户
提问于 2009-06-18 15:49:15
回答 8查看 61.3K关注 0票数 133

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

在PHP本身获得coalesce函数之前,有什么好方法可以用PHP实现一个呢?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-12-12 09:32:17

在php 5.3中有一个新的运算符可以做到这一点:?:

代码语言:javascript
复制
// 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

票数 196
EN

Stack Overflow用户

发布于 2015-06-24 16:35:01

PHP7引入了一个真正的coalesce operator

代码语言:javascript
复制
echo $_GET['doesNotExist'] ?? 'fallback'; // prints 'fallback'

如果??之前的值不存在或为null,则获取??之后的值。

对前面提到的?:运算符的改进是,??还可以处理未定义的变量,而不会抛出E_NOTICE

票数 69
EN

Stack Overflow用户

发布于 2009-06-18 15:51:34

在谷歌上第一次点击"php coalesce“。

代码语言:javascript
复制
function coalesce() {
  $args = func_get_args();
  foreach ($args as $arg) {
    if (!empty($arg)) {
      return $arg;
    }
  }
  return NULL;
}

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

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1013493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档