gpt4 book ai didi

PHP null合并+三元运算符奇怪的行为

转载 作者:行者123 更新时间:2023-12-02 07:20:49 34 4
gpt4 key购买 nike

将新的 PHP7 空合并运算符与三元运算符结合使用时,我遇到了意外行为。

具体情况(伪代码):

function a()
{
$a = 1;
$b = 2;
return $b ?? (false)?$a:$b;
}

var_dump(a());

结果是 int(1)。

谁能解释我为什么?

最佳答案

您的空格不反射(reflect) php 评估表达式的方式。请注意 ??有一个 higher precedence比三元表达式。

你得到的结果是:

($b ?? false) ? $a : $b;

这是 $a只要 $b不是 null或评估为 false .

关于PHP null合并+三元运算符奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46514718/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com