在判断某个 PHP 数组的索引值是否存在,一般会使用 isset 和 array_key_exists 两种方法,但是两者返回的值会有不同,下面我来介绍isset 和 array_key_exists 区别,有需要的朋友可参考。
先来看个简单的例子
代码如下 | 复制代码 |
isset($a['key']) |
确切地告诉你,数组是否存在某个键,而 isset 则只是返回键值是否为 null 的状态。
isset函数是检测变量是否设置。
格式:bool isset ( mixed var [, mixed var [, ...]] )
返回值:
1.若变量不存在则返回 FALSE
2.若变量存在且其值为NULL,也返回 FALSE
3.若变量存在且值不为NULL,则返回 TURE
4.同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
例1
代码如下 | 复制代码 |
$a = array('key1' => '123', 'key2' => null); |
使用这两个方法判断键值存在情况,结果如下:
代码如下 | 复制代码 |
isset($a['key1']); // true isset($a['key2']); // false |
例2
代码如下 | 复制代码 |
$a = array ('test' => 1, 'hello' => NULL); var_dump( isset ($a['test') ); // TRUE // 'hello' 等于 NULL,所以被认为是未赋值的。 ?> |