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 相关文章推荐
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
php 3行代码的分页算法(求起始页和结束页)
Oct 21 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Dec 29 PHP
PHP中PDO的错误处理
Sep 04 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
Jul 01 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 PHP
php实现文章置顶功能的方法
Oct 20 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 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用数组返回无限分类的列表数据的代码
2010/08/08 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
2015/11/17 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
让div运动起来 js实现缓动效果
2017/07/06 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
python实现requests发送/上传多个文件的示例
2018/06/04 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
Python批量启动多线程代码实例
2020/02/18 Python
浅析Python 条件控制语句
2020/07/15 Python
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
软件测试工程师结构化面试题库
2016/11/23 面试题
销售实习自我鉴定
2013/12/07 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript