array_key_exists

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

説明

bool array_key_exists(stringintfloatboolresourcenull $key, array $array)

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

パラメータ

key

調べる値。

array

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

戻り値

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

注意:

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

変更履歴

バージョン 説明
8.5.0 key パラメータに null を指定することは、推奨されなくなりました。 代わりに、空文字列を使ってください。
8.0.0 key パラメータは bool, float, int, null, resource, string を引数として受け入れるようになりました。
8.0.0 arrayobject を渡すことは、 サポートされなくなりました。
7.4.0 arrayobject を渡すことは、 推奨されなくなりました。 property_exists を代わりに使ってください。

例1 array_key_exists の例

<?php
$searchArray = ['first' => 1, 'second' => 4];
var_dump(array_key_exists('first', $searchArray));
?>

上の例の出力は以下となります。

bool(true)

例2 array_key_existsisset

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

<?php
$searchArray = ['first' => null, 'second' => 4];

var_dump(isset($searchArray['first']));
var_dump(array_key_exists('first', $searchArray));
?>

上の例の出力は以下となります。

bool(false)
bool(true)

参考

  • isset
  • array_keys
  • in_array
  • property_exists