看板 PHP 關於我們 聯絡資訊
※ 引述《tas72732002 (蔥頭)》之銘言: : 想請問一下 : if(isset($a)==true) 與 if($a) 與if(isset($a))三者的解釋 : EX: : if($a) : echo $a : if($a) 是代表$a存在則印出$a嗎?? : 存在的意思是$a不是null值嗎??? if (expr) 代表會去將 expr 轉為布林值之後,依照其真 (True) 或偽 (False), 分支執行後續程式碼 isset($a) 會依照 $a 是否為已存在之變數,傳回布林值 因此 if(isset($a)==true) if(isset($a)===true) if(isset($a)) 三者完全等義 至於寫作 if($a) 的話,評估的是 $a 轉型為布林值之後的真偽 若 $a 未定義,則會套用初始值;布林值的初始值是 false(數字是0,字串是 "") 如果 $a 是字串,則只有當 $a 為空字串 ('') 時,會被判定為 false 如果 $a 是數字,只有 $a 為 0 時會被判定為 false 如果 $a 是物件.... 我會打電話叫寫出這行程式碼的 coder 來公司解釋! --- 除非 $a 本身就是布林變數, if($a) 這種判斷式是相當壞的習慣 -- 鬼壓床怎麼辦 騎上去啊 Blog: http://clifflu.blogspot.com/ Since March, 2007 Photo Galelry: http://www.picasaweb.com/clifflu 沒有了 T_T -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.190
buganini:我記得'0'也是false 超~鳥~ㄉ~ 05/06 05:06
clifflu:噗 我沒去測試'0',不過 'false' 算是 true XD 05/06 09:34
appleboy46:Orz 'false' 算是字串了 05/06 18:41