php && 逻辑与运算符使用说明


Posted in PHP onMarch 04, 2010

例子:
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());

o(︶︿︶)o 唉,很晕,今天问了N多的人。终于把“&&”东西给弄明白怎么回事了

运算符都没有判断就那样写什么意思,哎,原来如果前面的为假。后面的语句就不执行了。免得我们还费劲的写if

这样多简单。。。

//简单说明,如果前面的判断为假后面的则不执行,如果是真,继续执行下面的定义常量操作。

逻辑运算符
例子 名称 结果
$a and $b And(逻辑与) TRUE,如果 $a 与 $b 都为 TRUE。
$a or $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。
$a xor $b Xor(逻辑异或) TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。
! $a Not(逻辑非) TRUE,如果 $a 不为 TRUE。
$a && $b And(逻辑与) TRUE,如果 $a 与 $b 都为 TRUE。
$a || $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。

Example #1 逻辑运算符示例
<?php 
// 下面的 foo() 不会被调用,因为它们被运算符“短路”了。 
$a = (false && foo()); 
$b = (true || foo()); 
$c = (false and foo()); 
$d = (true or foo()); 
// "||" 的优先级比 "or" 高 
$e = false || true; // $e 被赋值为 (false || true),结果为 true 
$f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高] 
var_dump($e, $f); 
// "&&" 的优先级比 "and" 高 
$g = true && false; // $g 被赋值为 (true && false),结果为 false 
$h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高] 
var_dump($g, $h); 
?>

上例的输出类似于:
bool(true)
bool(false)
bool(false)
bool(true)

Another example that might help.

<?php
(isset($panelemail) && !empty($panelemail) ? $panelemail : $userdata['email']);
?>
returns the userdata email address, but this

<?php
(isset($panelemail) AND !empty($panelemail) ? $panelemail : $userdata['email']);
?>
returns false.

The reason is that the two types of ands have a different order of precedence. "&&" is higher than "AND", and the "?:" operator just happens to come between the two. Also, since "||" (or) is actually higher than "AND," you should never mix &&s and ||s with ANDs and ORs without paretheses.

For example:

<?php
true && false || false
?>
returns false, but

<?php
true AND false || false
?>
returns true.

PHP 相关文章推荐
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
Jul 08 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
Oct 14 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 PHP
Laravel find in set排序实例
Oct 09 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
PHP实现倒计时功能
Nov 16 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 #PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 #PHP
php绝对路径与相对路径之间关系的的分析
Mar 03 #PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 #PHP
PHP 引用文件技巧
Mar 02 #PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 #PHP
PHP set_time_limit(0)长连接的实现分析
Mar 02 #PHP
You might like
PHP5 安装方法
2007/01/15 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
js实现轮播图特效
2020/05/28 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
浅析python redis的连接及相关操作
2019/11/07 Python
python如何进入交互模式
2020/07/06 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
大学军训通讯稿
2014/01/13 职场文书
药品采购员岗位职责
2014/02/08 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
热血教师观后感
2015/06/10 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
创业计划书之美甲店
2019/09/20 职场文书
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL