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