一个基本的区别是isset()可用于数组和变量,而array_key_exits()只能用于数组。

但是最主要的区别在于在设定的条件下的返回值。

现在我们来验证一下这个最主要的区别。

array_key_exists()

array_key_exists() 会检查键值的存在. 这个函数会返回TRUE,只要键值存在,即使值为NULL.

$arr = array( \"one\"=>\"1\", \"two\"=>\"2\", \"three\"=>null ); 
array_key_exists(\"one\", $arr); // true 
array_key_exists(\"two\", $arr); // true 
array_key_exists(\"three\", $arr); // true

 

isset()

和arrry_key_exitst()不同,isset()会同时检查键和值,只有当健存在,对应的变量不为NUll的时候才会返回TURE。

$arr = array( \"one\"=>\"1\", \"two\"=>\"2\", \"three\"=>null );
isset($arr[\"one\"]); // true 
isset($arr[\"two\"]); // true 
isset($arr[\"three\"]); // false

 

结论

本文说明了上面所述两个函数的主要区别,以以后使用这两个函数的时候要多注意了!

收藏 打印