[PHP基础]有关isset empty 函数的面试题

用isset()和empty()判断下面的变量。
$str = '';
$int = 0 ;
$arr = array();

isset($str) 返回的是 true 还是 false
empty($int) 返回什么
empty($arr)返回什么

答案:
        分别是 true true true  

解释:
isset函数特性.

任何被赋值的变量,都会是isset状态. 当然NULL是特殊类型,$str = NULL;  使用isset($str) 则为false  .  
$str = NULL;
$str2 = &$str;
var_dump(isset($str2));  //此处来false
$str = '';
var_dump(isset($str2));  //此处来true

另外,该函数只能判断变量 . 比如 isset(123) 则报错(Fatal error).


empty函数比较有意思 如下代码

var_dump(empty($null_var));
var_dump(empty(0));
var_dump(empty(''));
var_dump(empty(false));
var_dump(empty(null));
var_dump(empty('0'));
var_dump(empty(array()));

以上选部为true
特点,
未定义变量    0   '0'     ''      false     null    空数组     都是true,而且,不必须是变量.
posted @ 2017-06-05 15:41  ノGHJ  阅读(189)  评论(0)    收藏  举报