>백엔드 개발 >PHP 튜토리얼 >PHP isset 和 array_key_exists 区别_PHP教程

PHP isset 和 array_key_exists 区别_PHP教程

WBOY
WBOY원래의
2016-07-13 17:14:52991검색

在判断某个 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


例1

 代码如下 复制代码

$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

例2

 代码如下 复制代码

$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

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628922.htmlTechArticle在判断某个 PHP 数组的索引值是否存在,一般会使用 isset 和 array_key_exists 两种方法,但是两者返回的值会有不同,下面我来介绍isset 和 array...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.