在赋值运算中 && 和 and 的运算符优先级问题

本文通过一个代码示例解释了在PHP中赋值运算符`=`与逻辑运算符`and`的优先级问题。指出在表达式中,`&&`的优先级高于`=`,而`=`的优先级高于`and`,导致在某些情况下可能产生意外的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行下面的代码,第一个 $bool 将打印为 false ,预期如此,但是第二个 $bool 将打印 true 。这是因为 = 的优先级高于 and 运算符,所以,第二个 b o o l 将 会 被 当 成 ( bool 将会被当成 ( bool(bool = true) and false 执行。

<?php

$bool = true && false;
// false
var_dump($bool);


$bool = true and false;
// true
var_dump($bool);

所以 && > = > and

来源: https://www.php.net/manual/zh/language.operators.precedence.php#117390

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值