好記性不如爛筆頭,記下來,自己看。
isset 用于檢測變量是否被設置,使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSE 。
empty 如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的,如果 var 為空,則返回 TRUE 。
如果變量為 0 ,則empty()會返回TRUE,isset()會返回TRUE;
如果變量為空字符串,則empty()會返回TRUE,isset()會返回TRUE;
如果變量未定義,則empty()會返回TRUE,isset()會返回FLASE。
注意:isset() 只能用于變量,因為傳遞任何其它參數都將造成解析錯誤。若想檢測常量是否已設置,可使用 defined() 函數。
當要 判斷一個變量是否已經聲明的時候 可以使用 isset 函數;
當要 判斷一個變量是否已經賦予數據且不為空 可以用 empty函數;
當要 判斷 一個變量 存在且不為空 先 isset 函數 再用 empty 函數;
話不多說直接看代碼:
<?php
$Arr = array(
'a' => 0, 'b' => '0', 'c' => '', 'd' => null,
'e' => 'null', 'f' => array(), 'g' => false
);
var_dump($Arr);
Res::result($Arr);
class Res
{
public static function result(array $parms)
{
for ($i = 0; $i < count($parms) - 1; $i++) {
$keysArr = array_keys($parms);
for ($m = 1; $m < (count($parms) - $i); $m++) {
echo $keysArr[$i] . '==' . $keysArr[$i + $m] . "的結果是:";
var_dump($parms[$keysArr[$i]] == $parms[$keysArr[$i + $m]]);
}
}
}
}
輸出結果如下:
http://kul.cn