指定した値を配列で検索し、見つかった場合に対応する最初のキーを返す

# array_search

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

array_search — 指定した値を配列で検索し、見つかった場合に対応する最初のキーを返す

### 説明

array_search ( mixed `$needle` , array `$haystack` [, bool `$strict` = `FALSE` ] ) : mixed

`haystack` において `needle` を検索します。

### パラメータ

`needle`

  検索したい値。

  > 注意:

  > `needle` が文字列の場合、 大文字小文字を区別して比較が行われます。

`haystack`

  配列。

`strict`

  オプションの3番目のパラメータ `strict` に `TRUE` が指定された場合、 array_search() は identical 要素を `haystack` から探します。 つまり、`haystack` の中で `needle` の厳密な型比較を実行します。 およびオブジェクトが同一のインスタンスであるかどうかも確認します。

### 返り値

`needle` が見つかった場合に配列のキー、 それ以外の場合に `FALSE` を返します。

もし `haystack` に 1 つ以上の `needle` に見つかった場合、 最初にマッチしたキーが返されます。全てのマッチした値に対するキーを返すためには、代わりに array_keys() にパラメータ `search_value` を付けて使用してください。

警告

この関数は論理値 `FALSE` を返す可能性がありますが、`FALSE` として評価される値を返す可能性もあります。 詳細については 論理値の セクションを参照してください。この関数の返り値を調べるには ===演算子 を 使用してください。

### 変更履歴

バージョン | 説明
--- | ---
5.3.0 | 他のすべての内部関数と同様、無効なパラメータが渡されたときに array_search() は `NULL` を返すようになりました。

### 例

例1 array_search() の例

`<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
?>`

### 参考

- array_keys() - 配列のキーすべて、あるいはその一部を返す
- array_values() - 配列の全ての値を返す
- array_key_exists() - 指定したキーまたは添字が配列にあるかどうかを調べる
- in_array() - 配列に値があるかチェックする