php中合并操作符(??)的奇怪行为

  • 本文关键字:合并 操作符 php php
  • 更新时间 :
  • 英文 :


谁能解释一下,为什么下面两种情况的结果是不同的?

<?php
echo ((7)??0 / (15)??1);
echo "<br><br>";
echo (((7)??0) / ((15)??1));
?>
7<br><br>0.46666666666667

参见PHP手册中的运算符优先级。

??/有更高的比例,所以在第一个例子中,因为7是一个真值,所以它获胜。

在第二个例子中,括号强制优先。

最新更新