php的神奇逻辑运算符

简介: @(小乖)今天再读php文档,看到逻辑运算符这边又发现了新天地呀,之前在探究c语言的逻辑运算符中,我们得到了一些结论

@(小乖)今天再读php文档,看到逻辑运算符这边又发现了新天地呀,

之前在探究c语言的逻辑运算符中,我们得到了一些结论

https://dyedd.cn/723.html

而在php中,&& ||与and or 同时存在,并且表示的含义是一样,但是不同的是 优先级

接下来复制官方文档的一个实例

<?php
// --------------------
// foo() 根本没机会被调用,被运算符“短路”了
$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());
// --------------------
// "||" 比 "or" 的优先级高
// 表达式 (false || true) 的结果被赋给 $e
// 等同于:($e = (false || true))
$e = false || true;
// 常量 false 被赋给 $f,true 被忽略
// 等同于:(($f = false) or true)
$f = false or true;
var_dump($e, $f);
// --------------------
// "&&" 比 "and" 的优先级高
// 表达式 (true && false) 的结果被赋给 $g
// 等同于:($g = (true && false))
$g = true && false;
// 常量 true 被赋给 $h,false 被忽略
// 等同于:(($h = true) and false)
$h = true and false;
var_dump($g, $h);
?>
bool(true)
bool(false)
bool(false)
bool(true)

**简单的来说,优先级 "||" > '='> "or"

"&&" > '='> "and"**

但是无论如何php与c一样,并没有js般的逻辑运算符作用

and or 与=共存时,只获取and和or的前面的值,可能用true和fasle还不够形象

接下来我们用具体的值,就取数字来研究

$a = 2 && 3;//$a = 2 && 3; 同
echo $a;

答案是:

此处内容需要评论回复后方可阅读。

那么你就会问了,那and 和or ,前面我们说它跟等号一起,实际就会截取and 和or 前面地值

$c = 2 and 3;
echo $c; //2
$d = 2 or 3;
echo $d;//2

因此这种形式下往往用来混淆加密,and 和 or 只是减弱了代码地可读性,论如何写出他人维护不了的代码 --@(捂嘴笑)

好,如果你觉得脑子还没有乱的话,继续接着看@(茶杯)

那么如果没有等号,and 和or ,&& ,||又怎么样呢?

echo 2 && 3;
echo 2 || 3;
echo 2 and 3;
echo 2 or 3;

结果都是1,也就是说:

&& 和 ||作用不言而喻,就是没有js那样的作用,and 和 or 也是,但是没有等号的存在,and 和 or 就要比较下两边的bool了(同样,非0为真

总结,看完了文章,你只要记住

  1. 没有js那样的作用
  2. 有等号在的and or 就取and 和 or 前面的值
  3. && 和 || 与没有等号的and or 一样,返回true 还是false

增加

$stmt = false or die ("Failed to prepared the statement!");

这种情况会输出Failed to prepared the statement!

这是为什么呢?

这是die的作用,看到false,就输出证明死了

目录
相关文章
|
数据处理 PHP
【web 开发基础】PHP 快速入门(8)-PHP 运算符之逻辑运算符详解
在形式逻辑中,逻辑运算符或逻辑联结词把语句连接成更复杂的复杂语句。例如,假设有两个逻辑命题,分别是"正在下雨"和"我在屋里",我们可以将它们组成复杂命题"正在下雨,并且我在屋里"或"没有正在下雨"或"如果正在下雨,那么我在屋里"。一个将两个语句组成的新的语句或命题叫做复合语句或复合命题。
97 1
PHP为什么需要逻辑运算符?底层原理是什么?
PHP为什么需要逻辑运算符?底层原理是什么?
|
JavaScript PHP Python
PHP、JS、Python逻辑运算符||和位运算符|
PHP、JS、Python逻辑运算符||和位运算符|
112 0
PHP、JS、Python逻辑运算符||和位运算符|
|
JavaScript PHP Python
PHP、JS、Python逻辑运算符||和位运算符|
PHP、JS、Python逻辑运算符||和位运算符|
104 0
|
15天前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
26天前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
|
2月前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。
|
2月前
|
SQL 关系型数据库 MySQL
PHP与MySQL交互之基础教程
【8月更文挑战第31天】 在数字世界中,数据是推动一切的核心力量。本文将引导你探索PHP与MySQL的协同工作,通过实际代码示例,展示如何建立连接、执行查询以及处理结果集。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你提供宝贵的实践知识。
|
3月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
53 3
|
5月前
|
关系型数据库 MySQL PHP