Heim  >  Artikel  >  Backend-Entwicklung  >  PHP isset 和 array_key_exists 区别_PHP教程

PHP isset 和 array_key_exists 区别_PHP教程

WBOY
WBOYOriginal
2016-07-13 17:14:52965Durchsuche

在判断某个 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...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn