程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP基礎陷阱題(變量賦值)

PHP基礎陷阱題(變量賦值)

編輯:關於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);

有興趣的同學可以思考一下:)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved