Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 运算符优先级&&;然后呢?_Php_Operator Precedence - Fatal编程技术网

Php 运算符优先级&&;然后呢?

Php 运算符优先级&&;然后呢?,php,operator-precedence,Php,Operator Precedence,我读到的是&&B比 为什么设计用于提供可选数组元素的“默认值”的构造不会与该元素紧密绑定 $ok=$ok&&$someArray['optionalElement']??对;//错 $ok=$ok&($someArray['optionalElement']?true);//赖特 来自PHP文档 空合并运算符(??)已添加为语法糖,用于需要将三元运算符与isset()结合使用的常见情况。如果第一个操作数存在且不为空,则返回第一个操作数;否则返回第二个操作数 因此,空合并器将其左边的所有内容都作

我读到的是&&B比

为什么设计用于提供可选数组元素的“默认值”的构造不会与该元素紧密绑定

$ok=$ok&&$someArray['optionalElement']??对;//错
$ok=$ok&($someArray['optionalElement']?true);//赖特
来自PHP文档

空合并运算符(??)已添加为语法糖,用于需要将三元运算符与isset()结合使用的常见情况。如果第一个操作数存在且不为空,则返回第一个操作数;否则返回第二个操作数

因此,空合并器将其左边的所有内容都作为
isset()的表达式参数处理。

因此,
$ok&&$someArray['optionalElement']
被视为完整表达式

($someArray['optionalElement']]?true)
括在括号中只会导致
$someArray['optionalElement']]
成为表达式,因此它的工作方式与您预期的一样。

来自PHP文档

空合并运算符(??)已添加为语法糖,用于需要将三元运算符与isset()结合使用的常见情况。如果第一个操作数存在且不为空,则返回第一个操作数;否则返回第二个操作数

因此,空合并器将其左边的所有内容都作为
isset()的表达式参数处理。

因此,
$ok&&$someArray['optionalElement']
被视为完整表达式

($someArray['optionalElement']]??true)
括在括号中只会导致
$someArray['optionalElement']]
成为表达式,因此它的工作方式与您预期的一样