php中判斷變數是否為空

2021-09-02 01:49:55 字數 2251 閱讀 8805

isset函式是檢測變數是否設定,判斷變數是否被初始化

說明:它並不會判斷變數是否為空,並且可以用來判斷陣列中元素是否被定義過

注意:當使用isset來判斷陣列元素是否被初始化過時,它的效率比array_key_exists高4倍左右

若變數不存在則返回false

若變數存在且其值為null,也返回false

若變數存在且值不為null,則返回ture

當要判斷乙個變數存在且不為空,先isset函式,再用empty函式

例子:$a = '';

$a['c'] = '';

if (!isset($a)) echo '$a 未被初始化' . "";

if (!isset($b)) echo '$b 未被初始化' . "";

if (isset($a['c'])) echo '$a 已經被初始化' . "";

// 顯示結果為

// $b 未被初始化

// $a 已經被初始化

php的empty()函式 ,檢測變數是否為"空"

格式:bool empty(mixed var)

功能:檢查乙個變數是否為空,如果 變數 是非空或非零的值,則 empty() 返回 false

若變數不存在則返回true

若變數存在且值為""、0、"0"、null、、false、array()、var $var;以及沒有任何屬性的物件,則返回ture

若變數存在且值不為""、0、"0"、null、、false、array()、var $var;以及沒有任何屬性的物件,則返回false

empty()只能用於變數,傳遞任何其它引數都將造成paser error而終止執行

任何乙個未初始化的變數、值為 0 或 false 或 空字串"" 或 null的變數、空陣列、沒有任何屬性的物件,都將判斷為empty==true

注意1:未初始化的變數也能被empty檢測為"空"

注意2:empty只能檢測變數,而不能檢測語句

當要判斷乙個變數是否已經宣告的時候可以使用isset函式

當要判斷乙個變數是否已經賦予資料且補位空,可以用empty函式

當要判斷乙個變數存在且不為空,先isset函式,再用empty函式

var == null功能:判斷變數是否為"空"

說明:值為 0 或 false 或 空字串"" 或 null的變數、空陣列、都將判斷為 null

注意:與empty的顯著不同就是:變數未初始化時 var == null 將會報錯。

$a = 0;

$b = array();

if ($a == null) echo '$a 為空' . "";

if ($b == null) echo '$b 為空' . "";

if ($c == null) echo '$b 為空' . "";

// 顯示結果為

// $a 為空

// $b 為空

// undefined variable: c

is_null

檢測傳入值【值,變數,表示式】是否是null,只有乙個變數定義了,且它的值是null,它才返回true . 其它都返回 false 【未定義變數傳入後會出錯!

$a = null;

$b = false;

if (is_null($a)) echo '$a 為null' . "";

if (is_null($b)) echo '$b 為null' . "";

if (is_null($c)) echo '$c 為null' . "";

// 顯示結果為

// $a 為null

// undefined variable: c

總結php中,"null" 和 "空" 是2個概念。

isset  主要用來判斷變數是否被初始化過

empty  可以將值為 "假"、"空"、"0"、"null"、"未初始化" 的變數都判斷為true

is_null  僅把值為 "null" 的變數判斷為true

var == null  把值為 "假"、"空"、"0"、"null" 的變數都判斷為true

var === null  僅把值為 "null" 的變數判斷為true

所以我們在判斷乙個變數是否真正為"null"時,大多使用 is_null,從而避免"false"、"0"等值的干擾。

php怎麼判斷變數是否為空

empty功能 檢測變數是否為 空 注意1 未初始化的變數也能被empty檢測為 空 注意2 empty只能檢測變數,而不能檢測語句 a 0 b c array if empty a echo a 為空 if empty b echo b 為空 if empty c echo c 為空 if emp...

判斷php變數是否定義,是否為空

isset returnstrueif var exists and has value other thannull,falseotherwise.輸入可以是多個變數,只有所有的變數為真的時候,返回真 empty returnsfalseif var has a non empty and non...

判斷php變數是否定義,是否為空

isset returnstrueif var exists and has value other thannull,falseotherwise.輸入可以是多個變數,只有所有的變數為真的時候,返回真 empty returnsfalseif var has a non empty and non...