php 空函数,PHP 中函数 isset(), empty(), is_null() 的区别
PHP 中函數(shù) isset(), empty(), is_null() 的區(qū)別,
使用 PHP 進(jìn)行開(kāi)發(fā)的時(shí)候,經(jīng)常會(huì)用到 isset(), empty(), is_null() 這幾個(gè)函數(shù)對(duì)數(shù)據(jù)進(jìn)行判斷,但是這是哪個(gè)函數(shù)的具體區(qū)別其實(shí)沒(méi)有很好的掌握。下面我們?cè)敿?xì)講解一下:
NULL
什么是 NULL,當(dāng)你開(kāi)始寫(xiě) PHP 代碼的時(shí)候,直接用了未定義厄一個(gè)變量。
echo $var + 3; //使用這個(gè)變量出現(xiàn):Notice: Undefined variable: var in
如果將其改寫(xiě)成:
$var = NULL;
echo $var + 3; //這樣就不會(huì)有問(wèn)題了
所以變量最好初始化,即使沒(méi)有,可以將NULL賦給變量,表示這個(gè)變量已經(jīng)定義但沒(méi)有值,屬于 NULL 類(lèi)型。
is_null()
當(dāng)滿足下面三種情況時(shí),is_null() 將返回 TRUE,其它的情況返回 FALSE
變量沒(méi)有被賦值
變量被賦值為NULL
變量未定義,相當(dāng)于 unset()
具體一些例子:
$var = NULL;
var_dump(is_null($var)); // TRUE
$var1;
var_dump(is_null($var1)); // TRUE Notice: Undefined variable
$num = 520;
unset($num);
var_dump(is_null($num)); //TRUE Notice: Undefined variable
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable
$var = 0; is_null($var); // FALSE
$var = FALSE; is_null($var); // FALSE
$var = ''; is_null($var); // FALSE
isset()
檢測(cè)已設(shè)定,并且不是NULL。如果沒(méi)有設(shè)置變量,變量未賦值,或變量被設(shè)為 NULL,isset() 函數(shù)就返回 NULL。
正好和 is_null() 函數(shù)相反,is_null() 為 TRUE 的情況在 isset() 中就為 FALSE。
如果傳遞多個(gè)參數(shù),將取交集。即所有參數(shù)全部符合 isset() 時(shí)才返回 TRUE。
$var = NULL; isset($var); // FALSE 當(dāng)一個(gè)變量被賦值為NULL時(shí),就表示這個(gè)變量沒(méi)有值
$var = 0; isset($var); // TRUE
$var = FALSE; isset($var); // TRUE
$var = ''; isset($var); // TRUE
isset($some_undefined_var); // FALSE Undefined variable
可以看出 isset() 著重檢測(cè)一個(gè) 變量是否設(shè)置和這個(gè)變量是否有具體的值,當(dāng)變量滿足這兩種情況時(shí) isset() 返回TRUE
empty()
判讀變量是否為空。相當(dāng)于 (!is_set($var) || !$var),來(lái)看一些具體例子:
$var = NULL; empty($var); // TRUE
$var = 0; empty($var); // TRUE
$var = FALSE; empty($var); // TRUE
$var = ''; empty($var); // TRUE
empty($some_undefined_var); // TRUE
empty() 為 TRUE 的情況,若變量不存在,或者變量存在且其值為””、0、”0″、NULL、FALSE、array()、var $var; 以及沒(méi)有任何屬性的對(duì)象,則返回 TURE。
一般如 !empty() 的判斷,就是變量存在,且值不為 “”、0、”0″、NULL、FALSE、array() 以及只是單純定義一個(gè)變量 $var。
本站推薦使用的主機(jī):,國(guó)外主機(jī)建議使用。
轉(zhuǎn)載請(qǐng)注明出處:https://www.it131.org/11389.html
總結(jié)
以上是生活随笔為你收集整理的php 空函数,PHP 中函数 isset(), empty(), is_null() 的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cacti 监控安装失败
- 下一篇: dede php分页代码,DEDECMS