在判斷變數是否為空值或是否存在的時候,最常看到的就是isset()、empty()跟is_null(),千萬別任意使用,否則會發生與預期不符的結果,而它們之間有何差異呢?以下做簡單介紹。
isset()
issset()顧名思義就是已設置,因此指的是變數是否存在,如果有設置變數,即使是空值也會返回true。
empty()
empty()顧名思義就是空的,因此指的是變數的值是否為空,如果有設置變數,且裡面是空值,包含null、0、"",都會返回true。
is_null()
is_null()顧名思義就是無效的、不存在的、無值,因此指的是變數的值是否無效、不存在,如果有設置變數,且裡面是無效的(var $x)、不存在的值(undefined、null),則返回true。
empty()和is_null()差異
empty()和is_null()最大的不同在於前者設0或""時,empty()會返回true,is_null則返回false,因為對is_null來說它是有效的值。
綜合比較
本文是否對您有幫助?