ホームページ  >  記事  >  バックエンド開発  >  PHP isset と array_key_exists_PHP チュートリアルの違い

PHP isset と array_key_exists_PHP チュートリアルの違い

WBOY
WBOYオリジナル
2016-07-13 17:14:52924ブラウズ

特定のPHP配列のインデックス値が存在するかどうかを判断する場合、一般的にはissetとarray_key_existsが使用されますが、2つのメソッドによって返される値は異なります。必要な場合は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);

これら 2 つの方法を使用してキー値の存在を確認します。結果は次のとおりです。

コードは次のとおりですコードをコピー
isset($a['key1']) // true

array_key_exists('key1', $a); // true

isset($a['key2']); // false

array_key_exists('key2', $a); // true
;

例 2

コードは次のとおりですコードをコピー

$a = 配列 ('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

?>

http://www.bkjia.com/PHPjc/628922.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/628922.html技術記事 PHP配列のインデックス値が存在するかどうかを判断する場合、一般的にはissetとarray_key_existsが使用されますが、2つのメソッドによって返される値は異なります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。