php判斷變數是不是null的方法

flynike發表於2021-09-11

php判斷變數是不是null的方法

1、is_null 和isset

這兩個函式都可以判斷一個變數是否為null,它們對空字串,0,false的認同是一樣的.

is_null = !isset();

不同的是 isset是語法結構,is_null 是函式。就效能而言,語法結構相對優秀一點。所以很多地方推薦使用isset代替is_null的使用

2、== 和 ===

在有些情況下,推薦使用isset來判斷一個變數是否為null

但是從語法上來說,一個變數 "是否已顯示初始化" 和 "是否為null" 是不同的概念,在某些場景下使用isset是不合適的,比如檢查一個函式的返回值是否為null。

此時可以使用 "==" 和 "===" 來判斷它們是否為null

對於"==" 和"===",它們直接的區別還是很大的。對於"==",它認同空字串,0,false都為Null。而對於"===",只有一個變數真的為null,它才代表null

另外 "==="相對於isset來說,效能要好一些

3、判斷一個變數是否為null直接用"==="就可以了

4、empty 判斷一個變數所儲存的內容是否為零或者為空, 0、"0"、null、false、array()、var $var ,以及沒有任何屬性的物件都被認為是空的,都代表了為零。

如果$a是未定義或值為NULLL,$a=NULL,它肯定是空,即empty($a)=true; 如果$a是int型別,$a=0,就相對於數字,0代表為零,即empty($a)=true;

 

如果$a是string型別,$a="",相對於字串,"" 就代表為是空,即empty($a)=true; 如果$a是string型別,$a="0",相對於字串,"0"就代表為是零,即empty($a)=true;

 

如果$a是bool型別,$a=false,相對true,false就代表為空,即empty($a)=true; 如果$a是array型別,$a=array(),相對陣列來說,沒有元素的資料就為空,即empty($a)=true;

以上就是php判斷變數是不是null的方法,希望對大家有所幫助。更多php學習指路:

本文轉載於php中文網,如有侵犯聯絡作者修改。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2618/viewspace-2827931/,如需轉載,請註明出處,否則將追究法律責任。

相關文章