看板 PHP 關於我們 聯絡資訊
※ 引述《tas72732002 (蔥頭)》之銘言: : 請問一下下列判斷句的意思 : if($a=$_GET["test"]) : echo "敘述一"; : else : echo "敘述二"; : 請問這句話的意思是判斷 $_GET["test"]是否有給值給$a嗎?? : 因為之前看的if條件都很清楚 如if($a>5) if($b ==5) 之類 : 但上述的判斷句實在不太懂他的意思~~ 麻煩各位解惑 感謝!!!!!! 首先先向原PO致歉... 小弟的無知傳達了錯誤觀念!! 原PO的猜測沒有錯~~~ 必須在意$_GET["test"]有沒有值 才能決定if裡回傳是true還是false 簡單的問題總是容易讓人心癢癢的... 在求知慾的驅使下...小弟寫了幾個類似的code測試結果如下! 1.不設定b值直接傳! <? $a = "aaa"; if($a = $b) echo $a; else echo "error"; ?> Result: error 2.設定b值傳 <? $a = "aaa"; $b = 9; if($a = $b) echo $a; else echo "error"; ?> Result: 9 3.判斷b值的isset結果 <? $a = "aaa"; if(isset($b)) echo $a; else echo "error"; ?> Result: error 4.判斷b值若為空值的isset結果 <? $a = "aaa"; $b = ""; if(isset($b)) echo $a; else echo "error"; ?> Result: aaa 5.若b為空值,傳給a的話回傳結果 <? $a = "aaa"; $b = ""; if($a = $b) echo $a; else echo "error"; ?> Result: error 所以結論 其實就跟原PO想得一模一樣... 只要b沒有值傳給a...$a=$b這個敘述式就會回傳false 無論isset($b)是否回傳true... 應該看得是$b裡面有沒有值正確的被儲存至$a~~~~ 以上 我不確定我的想法對不對... 如果有觀念上的盲點還請各位大大予以指正! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.99.103
mlwmlw :我看不太懂你說的意思…但感覺不太對 08/22 16:04
mlwmlw :空字串==FALSE是TRUE喔 08/22 16:10
evil2004 :就像上一篇文大大推文講的...if($a=$b)等同於if($b) 08/22 16:11
evil2004 :所以$b為空字串...if($b)就會跳到error~~~ 08/22 16:12
evil2004 :大概就是這個意思~~~ 08/22 16:12
arrack :個人是很不喜歡 寫if($b) 不夠直觀 08/22 16:36
yuyuan0507 :糾正我的觀念了!if($a=$_GET["test"])的get不只空值 08/23 01:11
yuyuan0507 :會跳離開判斷,get值=0 也會. 08/23 01:12