好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP isset 和 array_key_exists 区别 - php数组

PHP isset 和 array_key_exists 区别

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

实例代码如下:

isset( $a [ 'key' ])  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

实例代码如下:

$a  =  array ( 'key1'  =>  '123' ,  'key2'  => null); 

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

实例代码如下:

isset( $a [ 'key1' ]);              // true   array_key_exists ( 'key1' ,  $a );   // true   isset( $a [ 'key2' ]);              // false   array_key_exists ( 'key2' ,  $a );   // true  

实例代码如下:

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

查看更多关于PHP isset 和 array_key_exists 区别 - php数组的详细内容...

  阅读:44次