溫馨提示×

php判斷變量是否為空用empty還是isset

PHP
小樊
82
2024-09-02 07:26:39
欄目: 編程語言

在PHP中,empty()isset() 都可以用來檢查一個變量是否為空,但它們之間有一些區(qū)別。

isset() 函數(shù)用于檢測一個變量是否已經(jīng)設置,如果一個變量已經(jīng)被設置且其值不為NULL,那么isset()返回TRUE,否則返回FALSE。

empty() 函數(shù)用于檢測一個變量是否為空,如果一個變量不存在、為NULL、為FALSE、為空字符串、為0、為0.0、為空數(shù)組則返回TRUE,否則返回FALSE。

所以,當你需要檢查一個變量是否設置且不為NULL時,使用isset()。而當你需要檢查一個變量是否為空(包括未設置或為NULL)時,使用empty()

例如:

$var1 = '';
$var2 = NULL;
$var3 = 0;
$var4 = '0';
$var5 = false;

// 使用 isset()
echo isset($var1) ? 'var1 已設置' : 'var1 未設置'; // 輸出:var1 已設置
echo isset($var2) ? 'var2 已設置' : 'var2 未設置'; // 輸出:var2 未設置
echo isset($var6) ? 'var6 已設置' : 'var6 未設置'; // 輸出:var6 未設置

// 使用 empty()
echo empty($var1) ? 'var1 為空' : 'var1 非空'; // 輸出:var1 為空
echo empty($var2) ? 'var2 為空' : 'var2 非空'; // 輸出:var2 為空
echo empty($var3) ? 'var3 為空' : 'var3 非空'; // 輸出:var3 為空
echo empty($var4) ? 'var4 為空' : 'var4 非空'; // 輸出:var4 非空
echo empty($var5) ? 'var5 為空' : 'var5 非空'; // 輸出:var5 為空
echo empty($var6) ? 'var6 為空' : 'var6 非空'; // 輸出:var6 為空

從上面的例子可以看出,isset() 只檢查變量是否設置且不為NULL,而 empty() 檢查變量是否為空(包括未設置或為NULL)。根據(jù)實際需求選擇合適的函數(shù)。

0