许多编程语言都有一个coalesce函数(返回第一个非空值example)。不幸的是,在2009年,PHP没有。
在PHP本身获得coalesce函数之前,有什么好方法可以用PHP实现一个呢?
发布于 2009-12-12 09:32:17
在php 5.3中有一个新的运算符可以做到这一点:?:
。
// A
echo 'A' ?: 'B';
// B
echo '' ?: 'B';
// B
echo false ?: 'B';
// B
echo null ?: 'B';
发布于 2015-06-24 16:35:01
PHP7引入了一个真正的coalesce operator
echo $_GET['doesNotExist'] ?? 'fallback'; // prints 'fallback'
如果??
之前的值不存在或为null
,则获取??
之后的值。
对前面提到的?:
运算符的改进是,??
还可以处理未定义的变量,而不会抛出E_NOTICE
。
发布于 2009-06-18 15:51:34
在谷歌上第一次点击"php coalesce“。
function coalesce() {
$args = func_get_args();
foreach ($args as $arg) {
if (!empty($arg)) {
return $arg;
}
}
return NULL;
}
https://stackoverflow.com/questions/1013493
复制相似问题