Re: [請益] 請問這四種判斷方式的差異?

看板PHP作者 (不要食言 會肥)時間16年前 (2009/08/25 20:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
if (isset($room)) echo "A"; if (empty($room)) echo "B"; if ($room == null) echo "C"; if ($room == "") echo "D"; if ($room === "") echo "E"; if (is_null($room)) echo "F"; // 同等於 ($room === null) 當 $room 沒有定義,視為 $room = null BCDF 當 $room = null BCDF 當 $room = "" ABCDE 結論: 1. null 會被當作沒定義 (應該要說沒設置比較恰當) 2. 不嚴謹比對的情況(使用 == ) , null 會同等空字串,空字串也會同等 null 3. 沒定義時,變數視作 null 4. ($room == "") 這種方式少用,請用 empty() 跟 is_null() 來取代, 以避免奇妙 bug -- 今天發生了件小小的好事情唷 我擺在鞋櫃的鞋子裡面被放了圖釘 明明班上有50人之多 偏偏就挑上了我 這正是有某個人 比任何人都要在意我的證據 為了想將這小小的喜悅 也跟大家分享 我在每個人的鞋子裡 都各分放了一粒圖釘 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.224.158 ※ 編輯: bigair 來自: 218.167.224.158 (08/25 21:01)

08/26 21:27, , 1F
感謝您詳盡的解說
08/26 21:27, 1F
文章代碼(AID): #1Aa-12cd (PHP)
文章代碼(AID): #1Aa-12cd (PHP)