gpt4 book ai didi

== 的 php 奇怪优先级高于 null 合并运算符

转载 作者:搜寻专家 更新时间:2023-10-31 20:58:25 25 4
gpt4 key购买 nike

我不明白为什么会这样:

$var = 'x';
var_dump($var ?? '' == 'somevalue');

它输出 string(1) "x",而应该是 bool(false)

这背后的原因是什么?


想像一个用例,例如:

// I want to do something only if the optional_parameter is equal to somevalue
if($_GET['optional_parameter'] ?? '' == 'somevalue') {
...
}

最佳答案

这是运算符优先级的问题,试试:

$var = 'x';
var_dump(($var ?? '') == 'somevalue');

更多:http://php.net/manual/en/language.operators.precedence.php

还有一条一般性建议: parent 永远不会嫌多! :) 如果您不确定在给定语言中首先计算的是什么 - 请使用它们!

关于== 的 php 奇怪优先级高于 null 合并运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50105080/

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