我正在使用 PHP 7.2.0
我已经理解了null coalescing operator(??) 的正常基本用法,但是我无法理解 null coalescing operator(??) 嵌套时的执行流程和功能.
请考虑下面的代码示例并逐步向我解释执行流程。
<?php
$foo = null;
$bar = null;
$baz = 1;
$qux = 2;
echo $foo ?? $bar ?? $baz ?? $qux; // outputs 1
?>
最佳答案
如果您在 null 合并运算符的单个步骤周围添加括号,我认为您的示例会变得更清晰。
echo ($foo ?? ($bar ?? ($baz ?? $qux)));
基本上和从左到右执行是一样的。
空合并运算符是右结合运算符。这意味着操作是从右到左分组的。即,表达式 a ?? ?? c
被评估为 a ?? (b ?? c)
。
关于php - 嵌套空合并运算符 (??) 如何在 PHP 中工作?需要执行流程的分步说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48043699/