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 相关文章推荐
php中通过smtp发邮件的类,测试通过
Jan 22 PHP
在PHP中操作Excel实例代码
Apr 29 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 PHP
php使用GeoIP库实例
Jun 27 PHP
php实现文件下载代码分享
Aug 19 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
Yii输入正确验证码却验证失败的解决方法
Jun 06 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 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的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
PHP 验证码的实现代码
2011/07/17 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
详解JavaScript的while循环的使用
2015/06/03 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
四风问题对照检查材料思想汇报
2014/10/07 职场文书
教代会开幕词
2015/01/28 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL
Go gorilla/sessions库安装使用
2022/08/14 Golang