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

时间:2023-03-10 02:42:07
[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,而且,不必须是变量.