array_key_exists
指定したキーまたは添字が配列にあるかどうかを調べる
説明
bool array_key_exists(stringintfloatboolresourcenull $key
, array $array
)
パラメータ
-
key
-
調べる値。
-
array
-
キーが存在するかどうかを調べたい配列。
戻り値
成功した場合に true
を、失敗した場合に false
を返します。
注意:
array_key_exists は、最初のレベルのキーだけを捜します。
多次元配列のネストされたキーは、この関数では見つけられません。
例
例1 array_key_exists の例
<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
echo "この配列には 'first' という要素が存在します";
}
?>
例2 array_key_exists 対 isset
isset は null
値を持つ配列キーに対して
true
を返しません。一方、array_key_exists は
true
を返します。
<?php
$search_array = array('first' => null, 'second' => 4);
// false を返します
isset($search_array['first']);
// true を返します
array_key_exists('first', $search_array);
?>
注意
注意:
過去との互換性を保つため、key
が仮に array
で指定したオブジェクトのプロパティであっても
array_key_exists は true
を返します。
この挙動は PHP 7.4.0 で非推奨となり、PHP 8.0.0 以降で削除されています。
オブジェクトのプロパティが存在するかどうかを調べるには、
property_exists を使いましょう。
参考
- isset
- array_keys
- in_array
- property_exists