You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于嵌套空合并运算符输出为1的原因咨询

PHP空合并运算符链式调用行为解释

PHP的??(空合并运算符)核心逻辑很明确:从左到右依次检查操作数,返回第一个不为null的值,一旦找到符合条件的操作数,后面的内容会直接被忽略,不再执行判断。

看你给出的代码:

<?php
$foo = null;
$bar = null;
$baz = 1;
$qux = 2;

echo $foo ?? $bar ?? $baz ?? $qux; // outputs 1
?>

具体执行步骤拆解:

  • 首先检查$foo,它的值是null,所以继续向后判断
  • 接着检查$bar,同样为null,继续向后
  • 再检查$baz,它的值是1(不为null),直接返回这个值,后续的$qux不会再被处理
  • 最终输出结果就是1

内容的提问来源于stack exchange,提问作者Nazmul Hossain Pappu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:20:27