array_key_exists

指定したキーまたは添字が配列にあるかどうかを調べる

説明

bool array_key_exists(stringintfloatboolresourcenull $key, array $array)

指定した key が配列に設定されている場合、 array_key_existstrue を返します。 key は配列添字として使用できる全ての値を使用可能です。

パラメータ

key

調べる値。

array

キーが存在するかどうかを調べたい配列。

戻り値

成功した場合に true を、失敗した場合に false を返します。

注意:

array_key_exists は、最初のレベルのキーだけを捜します。 多次元配列のネストされたキーは、この関数では見つけられません。

変更履歴

バージョン 説明
8.0.0 key パラメータは bool, float, int, null, resource, string を引数として受け入れるようになりました。

例1 array_key_exists の例

<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
    echo "この配列には 'first' という要素が存在します";
}
?>

例2 array_key_existsisset

issetnull 値を持つ配列キーに対して true を返しません。一方、array_key_existstrue を返します。

<?php
$search_array = array('first' => null, 'second' => 4);

// false を返します
isset($search_array['first']);

// true を返します
array_key_exists('first', $search_array);
?>

注意

注意:

過去との互換性を保つため、key が仮に array で指定したオブジェクトのプロパティであっても array_key_existstrue を返します。 この挙動は PHP 7.4.0 で非推奨となり、PHP 8.0.0 以降で削除されています。

オブジェクトのプロパティが存在するかどうかを調べるには、 property_exists を使いましょう。

参考

  • isset
  • array_keys
  • in_array
  • property_exists