|
復(fù)制代碼 代碼如下:
<?php
$a=3;
$b=6;
if($a=5||$b=7){
$a++;
$b++;
}
var_dump($a, $b);
陷阱一
把$a=5、$b=7看成了$a==5、$b==7
錯(cuò)誤結(jié)果:3,6
陷阱二
運(yùn)算符的優(yōu)先級(jí),認(rèn)為$a=5賦值成功$b=7沒(méi)執(zhí)行
錯(cuò)誤結(jié)果:6,7
正確理解
陷阱是運(yùn)算符的優(yōu)先,賦值運(yùn)算符(=)的優(yōu)先級(jí)是最低的,所以正確理解應(yīng)該是
$a=(5||$b=7)
正確結(jié)果:true,7
升級(jí)一下
變形一
復(fù)制代碼 代碼如下:
$a=3;
$b=6;
$c=1;
if($a=5||$b=7 && $c=10){
$a++;
$b++;
}
var_dump($a, $b,$c);
變形二
復(fù)制代碼 代碼如下:
$a=3;
$b=6;
$c=1;
if($a=0||$b=7 && $c=10){
$a++;
$b++;
}
var_dump($a, $b,$c);
有興趣的同學(xué)可以思考一下:)
php技術(shù):PHP基礎(chǔ)陷阱題(變量賦值),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。