PHP基础陷阱题(变量赋值)


Posted in PHP onSeptember 12, 2012
<?php 
$a=3; 
$b=6; 
if($a=5||$b=7){ 
$a++; 
$b++; 
} 
var_dump($a, $b);

陷阱一

把$a=5、$b=7看成了$a==5、$b==7
错误结果:3,6

陷阱二

运算符的优先级,认为$a=5赋值成功$b=7没执行
错误结果:6,7

正确理解

陷阱是运算符的优先,赋值运算符(=)的优先级是最低的,所以正确理解应该是
$a=(5||$b=7)
正确结果:true,7

升级一下
变形一

$a=3; 
$b=6; 
$c=1; 
if($a=5||$b=7 && $c=10){ 
$a++; 
$b++; 
} 
var_dump($a, $b,$c);

变形二
$a=3; 
$b=6; 
$c=1; 
if($a=0||$b=7 && $c=10){ 
$a++; 
$b++; 
} 
var_dump($a, $b,$c);

有兴趣的同学可以思考一下:)
PHP 相关文章推荐
codeigniter使用技巧批量插入数据实例方法分享
Dec 31 PHP
yii上传文件或图片实例
Apr 01 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
thinkphp实现like模糊查询实例
Oct 29 PHP
php中文验证码实现方法
Jun 18 PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
Sep 19 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 #PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 #PHP
PHP中几种常见的超时处理全面总结
Sep 11 #PHP
PHP UTF8中文字符截断函数代码
Sep 11 #PHP
php中将汉字转换成拼音的函数代码
Sep 08 #PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 #PHP
header跳转和include包含问题详解
Sep 08 #PHP
You might like
php基础知识:类与对象(5) static
2006/12/13 PHP
使用adodb lite解决问题
2006/12/31 PHP
php判断是否为json格式的方法
2014/03/04 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
zend framework重定向方法小结
2016/05/28 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
读jQuery之一(对象的组成)
2011/06/11 Javascript
ejs v9 javascript模板系统
2012/03/21 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
手把手教你python实现SVM算法
2017/12/27 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
Python: 传递列表副本方式
2019/12/19 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
2020/08/07 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
高考励志标语
2014/06/05 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书