程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP isset 和 array_key_exists 區別

PHP isset 和 array_key_exists 區別

編輯:關於PHP編程

在判斷某個 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

 代碼如下 復制代碼

<?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

?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved