PHP 的合并函数?

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

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


答案 1

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


答案 2

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

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

如果 之前的值不存在,或者是 被取的值。??null??

对上述运算符的改进是,它还处理未定义的变量而不引发 .?:??E_NOTICE


推荐