Php/docs/function.array-key-exists

提供:Dev Guides
< Php
移動先:案内検索

array_key_exists

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

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


説明

array_key_exists ( string|int $key , array $array ) : bool

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


パラメータ

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 を返します。 しかし、この挙動に頼ってはいけません。 array にはオブジェクトではなく配列を渡すようにしましょう。

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

参考

  • isset() - 変数が宣言されていること、そして null とは異なることを検査する
  • array_keys() - 配列のキーすべて、あるいはその一部を返す
  • in_array() - 配列に値があるかチェックする
  • property_exists() - オブジェクトもしくはクラスにプロパティが存在するかどうかを調べる