好记性不如烂笔头,记下来,自己看。
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]]);
}
}
}
}
输出结果如下: