首页 > 精选知识 >

问 php 与或非逻辑符号 运算符考点详解

2026-11-10 14:24:19
最佳答案

答

php 里面与或非属于逻辑运算符,主要用在 if 条件判断,while 循环里面,用来组合多个判断条件,三个符号分别是与是双竖线不对,与是 &&,或是 ||,非是!,要注意 php 还有位运算版本的单 & 单 |,这个和逻辑运算符不是一回事,面试和写业务代码最常用的是 && || !,同时 php 支持短路运算,也就是前面条件已经能确定结果,后面条件不再执行,这个是高频考点,很多新手容易混淆逻辑运算符和位运算符。

基础符号对照表

名称逻辑运算符含义记忆要点
逻辑与&&两个条件同时成立,整体才为 true全部满足才通过
逻辑或只要任意一个条件成立,整体就是 true满足一个就通过
逻辑非!取反,true 变成 false,false 变成 true反转布尔结果

补充:php 也支持单词写法 and or not,and 等价 &&,or 等价 ||,not 等价!,但是优先级不一样,日常开发推荐使用 && || !,可读性更好,and or 优先级更低,很容易踩坑。

代码示例

$a = 10;

$b = 20;

// 逻辑与 两个条件都成立才输出

if($a > 5 && $b > 15){

echo "条件成立";

}

// 逻辑或 只要一个成立就输出

if($a > 5 || $b > 30){

echo "条件成立";

}

// 逻辑非 取反

$flag = false;

if(!$flag){

echo "flag为假,取反之后为真";

}

?>

短路运算重点

逻辑与 && 短路:左边条件是 false,右边代码不再执行

逻辑或 || 短路:左边条件是 true,右边代码不再执行

这个特性经常用来简写判断,例如 isset ($id) && $id > 0,前面 isset 失败,后面就不会执行,避免报错。

易混区分 逻辑运算和位运算

位运算符是单个符号 & 和 |,作用是按二进制每一位做运算,返回的是数值,不是布尔值,不要和逻辑与或搞混

逻辑运算符 && || 返回布尔 true 或者 false,用于条件判断

优先级说明

优先级从高到低:! 高于 && 高于 ||,如果条件比较复杂,建议直接加括号,避免优先级出错,例如 if ( (a>1)∣∣(b>2 && $c>3) ),加括号代码更清晰,不容易出 bug。

【常见问题】

问题 1 php 与或非逻辑符号里面 and 和 && 可以随便替换吗

回答 1 php 与或非逻辑符号里面 and 和 && 功能类似,但是优先级不同,and 优先级更低,混合多个条件的时候容易出错,业务代码推荐统一使用 &&。

问题 2 php 与或非逻辑符号短路运算是什么意思

回答 2 php 与或非逻辑符号短路运算,就是 && 左边为假,右边不再执行,|| 左边为真,右边不再执行,可以减少不必要代码执行,还能防止后续代码报错。

问题 3 php 与或非逻辑符号!可以连续写吗

回答 3 php 与或非逻辑符号可以连续写!!,!!$var 作用是把变量强制转换成布尔值,双重取反,开发经常用来转布尔类型。

问题 4 php 与或非逻辑符号和位运算 & | 有什么区别

回答 4 php 与或非逻辑符号 && || 是逻辑判断,输出布尔值,单 & 单 | 是位运算,按二进制位计算,输出数字,用途不一样,不能混用。

【免责申明】

本 php 与或非逻辑符号知识点仅作为编程学习参考,语法以对应 php 官方版本手册为准,学习过程请遵守相关编程规范。