国产视频app很多使用PHP編寫程序的小伙件,都應該糾結過isset()函數與empty()函數之間到底有啥區別。這篇博文分別介紹一下 isset() 函數與 empty() 函數的用法,以及它們之間的區別。

PHP isset()與empty()兩者之間的使用區別

PHP isset()函數

国产视频appisset():檢測變量是否設置,并且不是 NULL。成立返回true 否則返回 false;

語法:

isset(var)

參數:

var : 要檢查的變量,可以是數組

例:isset()函數判斷一個變量是否存在或不為null

<?php
$a = 'ss';
var_dump(isset($a));
// bool(true)

$b = null;
var_dump(isset($b));
// bool(false)

$c = 0;
var_dump(isset($c));
// bool(true)

$d = array();
var_dump(isset($d));
// bool(true) 

$e = array('1','2');
var_dump(isset($e));
// bool(true) 

$f = '';
var_dump(isset($f));
// bool(true) 

var_dump(isset($g));
// bool(false)

$h = false;
var_dump(isset($h));
// bool(true)
?>

国产视频app通過上面多行代碼的打印結果對比,不難發現。只要變量存在并且變量不為 null 那個isset() 函數返回的結果都是 true,解釋變量的值為空(不是null),或 0 都會返回 true

PHP empty()函數

empty():函數用于檢查一個變量是否為空,如變量存在并且非空非零的值時返回 FALSE 否則返回 TRUE。

語法:

empty(var)

參數:var 要檢查的變量

注意:empty()判斷變量是,即使變量不存在也不會發生警報,

例:empty()判斷變量是否存

示例代碼:

<?php
$a = 'ss';
var_dump(empty($a));
// bool(false)

$b = null;
var_dump(empty($b));
// bool(true)

$c = 0;
var_dump(empty($c));
// bool(true)

$d = array();
var_dump(empty($d));
// bool(true) 

$e = array('1','2');
var_dump(empty($e));
// bool(false)

$f = '';
var_dump(empty($f));
// bool(true)

$g = false;
var_dump(empty($g));
// bool(true) 

var_dump(empty($h));
// bool(true)

$j = '0';
var_dump(empty($j));
// bool(true)

$arr = array('a' => 'mochu','b' => 'feiniaomy.com');
var_dump(empty($arr['a']));
// bool(false)

var_dump(empty($arr['c']));
// bool(true)
?>

以上代碼總結說明:

1、若變量不存在則返回 TRUE 

国产视频app2、若變量存在且其值為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 TURE 

3、若變量存在且值不為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE 

国产视频app4、empty() 函數也可以用來判斷數組中指定的鍵是否存在,存在返回 FALSE,不存在返回TRUE

注意: empty() 只檢測變量,檢測任何非變量的東西都將導致解析錯誤

isset()與empty()區別總結:

国产视频app1、只要變量是為“”(空字符串)或者0,或者是false和null,只要是這些值empty()函數都會返回TRUE

国产视频app2、isset是判斷變量是否存在,只要這個變量不是 null 或是未賦值,都會返回TRUE