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

yipeiwu_com5年前PHP代码库

复制代码 代码如下:

<?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中将字符串转为HTML的实体引用的一个类

复制代码 代码如下:class HtmlEncode {         static $_convertToHtm...

php用户注册信息验证正则表达式

下面这个正则验证用户名的方法原则是这样的用户名必须是由字母带数字带定划线组成了,下面一起来看看例子吧. 1.检查用户名是否符合规定“两位以上的字母,数字,或者下划线”,代码如下: /...

微信公众平台开发教程①获取用户Openid及个人信息图文详解

微信公众平台开发教程①获取用户Openid及个人信息图文详解

本文实例讲述了微信公众平台开发获取用户Openid及个人信息。分享给大家供大家参考,具体如下: 前言: 初次尝试微信公众号的开发,对于学习方法的探索都是来源于网上的博客、问答,对于参差...

使用adodb lite解决问题

我使用adodb完整版的时候, 服务器竟然不支持,我差点自己去写个类, 把adodb的函数实现,以致我不用改我的程序但是现在我用了adodb-lite,这个是简化的版本,还不错,挺好的h...

php结合ACCESS的跨库查询功能

问题说明: 有时需要在两个或三个数据库的表中,通过相关关键字,查询获取所需记录集,用一般的SQL查询语句是实现不了的,可通过ACCESS的跨库查询功能实现。  解决方法: 例如“装材类型...