当前位置:首页 > PHP教程 > php数组 > 列表

PHP isset 和 array_key_exists 区别

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-13 13:58:12 浏览: 评论:0 

在判断某个 PHP 数组的索引值是否存在,一般会使用 isset 和 array_key_exists 两种方法,但是两者返回的值会有不同,下面我来介绍isset 和 array_key_exists 区别,有需要的朋友可参考.

实例代码如下:

  1. isset($a['key']) 
  2. array_key_exists('key'$a)array_key_exists 

确切地告诉你,数组是否存在某个键,而 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); 

使用这两个方法判断键值存在情况,结果如下:

实例代码如下:

  1. isset($a['key1']);             // true 
  2. array_key_exists('key1'$a);  // true 
  3. isset($a['key2']);             // false 
  4. array_key_exists('key2'$a);  // true 

实例代码如下:

  1. <?php 
  2. $a = array ('test' => 1, 'hello' => NULL); 
  3. var_dump( isset ($a['test') ); // TRUE 
  4. var_dump( isset ($a['foo') ); // FALSE 
  5. var_dump( isset ($a['hello') ); // FALSE 
  6. // 'hello' 等于 NULL,所以被认为是未赋值的. 
  7. // 如果想检测 NULL 键值,可以试试下边的方法. 
  8. var_dump( array_key_exists('hello'$a) ); // TRUE 
  9. ?> 

Tags: isset array_key_exists

分享到: