empty()和isset()的區別

(一)empty 判斷一個變量是否爲「空」,isset 判斷一個變量是否已經設置。 函數

$name=0; spa

$name=」; 變量

$name=null; 表單

$name=」0″; 數據

$name; sse

if(empty($name))

{

echo 「ok」; //上面五種寫法empty($name)都是 true

}

if(empty($na))  //結果爲 true 因爲變量$na未定義

(二)isset 函數是用於檢測這個變量是否設置過,在下面兩種狀況下會認爲 isset 爲假

①$id; 沒有給任何值

②或者就是根本沒有定義.

所以咱們建議在 判斷某個表單是否提交有數據,使用isset來判斷if(isset($_GET/$_POST['變量']){echo $_GET['變量']}else{ echo ‘沒有傳遞數據’}

例子:
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = 」;
$a5 = ’0′;
$a6 = ‘null’;
$a7 = array();
$a8 = array(array());

echo empty($a1) ? ‘true’ : ‘false’;//輸出true echo empty($a2) ? ‘true’ : ‘false’;//輸出true ** echo empty($a3) ? ‘true’ : ‘false’;//輸出true ** echo empty($a4) ? ‘true’ : ‘false’;//輸出true echo empty($a5) ? ‘true’ : ‘false’;//輸出true ** echo empty($a6) ? ‘true’ : ‘false’;//輸出false echo empty($a7) ? ‘true’ : ‘false’;//輸出true ** echo empty($a8) ? ‘true’ : ‘false’;//輸出false echo ‘<br />’; echo isset($a1) ? ‘true’ : ‘false’;//輸出false ** echo isset($a2) ? ‘true’ : ‘false’;//輸出true echo isset($a3) ? ‘true’ : ‘false’;//輸出true echo isset($a4) ? ‘true’ : ‘false’;//輸出true echo isset($a5) ? ‘true’ : ‘false’;//輸出true echo isset($a6) ? ‘true’ : ‘false’;//輸出true echo isset($a7) ? ‘true’ : ‘false’;//輸出true echo isset($a8) ? ‘true’ : ‘false’;//輸出true

相關文章
相關標籤/搜索