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

yipeiwu_com6年前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);

有兴趣的同学可以思考一下:)

相关文章

php5.5新数组函数array_column使用

PHP5.5发布了,其中增加了一个新的数组函数array_column,感觉不错的!但是低版本PHP要使用,得自己实现:参考地址:https://wiki.php.net/rfc/arr...

php json与xml序列化/反序列化

php json与xml序列化/反序列化

在web开发中对象的序列化与反序列化经常使用,比较主流的有json格式与xml格式的序列化与反序列化,今天想写个jsop的小demo,结果发现不会使用php序列化,查了一下资料,做个笔记...

PHP学习的技巧和学习的要素总结

1、适合PHP学习者的学习道路: (1) 了解HTML/CSS/JS、、网页根本元素,完毕阶段可自行制造简略的网页,对元素特点相对了解 (2) 了解动态言语的概念和运做机制,了解根本的P...

PHP安全防范技巧分享

PHP代码安全和XSS,SQL注入等对于各类网站的安全非常中用,尤其是UGC(User Generated Content)网站,论坛和电子商务网站,常常是XSS和SQL注入的重灾区。这...

php模拟js函数unescape的函数代码

复制代码 代码如下: function unescape($str) { $ret = ''; $len = strlen($str); for ($i = 0; $i < $le...