Re: [請益] 關於isset與if的用法~~

看板PHP作者 ( 強運逃敗 兩次 !)時間15年前 (2010/05/06 00:56), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串2/3 (看更多)
※ 引述《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

05/06 05:06, , 1F
我記得'0'也是false 超~鳥~ㄉ~
05/06 05:06, 1F

05/06 09:34, , 2F
噗 我沒去測試'0',不過 'false' 算是 true XD
05/06 09:34, 2F

05/06 18:41, , 3F
Orz 'false' 算是字串了
05/06 18:41, 3F
文章代碼(AID): #1BuQCqkz (PHP)
討論串 (同標題文章)
文章代碼(AID): #1BuQCqkz (PHP)