PHP基礎陷阱題(變量賦值)
更新時間:2012年09月12日 20:58:36 作者:
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
陷阱二
運算符的優(yōu)先級,認為$a=5賦值成功$b=7沒執(zhí)行
錯誤結果:6,7
正確理解
陷阱是運算符的優(yōu)先,賦值運算符(=)的優(yōu)先級是最低的,所以正確理解應該是
$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設計模式之模板方法模式Template Method Pattern詳解
在我們實際開發(fā)中,如果一個方法極其復雜時,如果我們將所有的邏輯寫在一個方法中,那維護起來就很困難,要替換某些步驟時都要重新寫,這樣代碼的擴展性就很差,當遇到這種情況就要考慮今天的主角——模板方法模式2022-12-12