【PHP】配列から指定した値を検索し、キーを取得できるarray_search関数を解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。

この記事では、 PHPで配列から指定した値を検索し、キーを取得できるarray_search関数について

  • array_search関数とは
  • array_search関数を使ったサンプルプログラム

と、丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
PHPのバージョン 8.0.3
XAMPPのバージョン 8.0.3

PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。

array_search関数とは

array_search関数とは、配列から指定した値を検索し、最初に見つかったキーを返す関数です。
見つからなかった場合はfalseを返します。

array_search関数は使い方が

  • パターン1:オプションを指定しない場合
  • パターン2:オプションを指定した場合

の合計2パターンあります。
それぞれ解説します。

パターン1:オプションを指定しない場合

オプションを指定しない場合、第一引数の文字列の第二引数の配列から値のみ一致するか?という観点で検索します。
つまり、厳密に検索しません。
使い方サンプルは以下です。

上記だと、array_search関数の第一引数に指定した「3」と一致する値を検索します。
配列には型は異なりますが値は同じ数値の「3」が存在するため、resultには2が返ります。

パターン2:オプションを指定した場合

オプションを指定する場合、第一引数の文字列の第二引数の配列から値も型も一致するか?という観点で検索します。
つまり、厳密に検索します。
使い方サンプルは以下です。

上記だと、第一引数に指定したのは文字の「3」と一致する値を検索します。
配列には数値の「3」で値は同じであるものの、型が異なるため、resultにはfalseが返ります。

第三引数に指定するbool値の意味は下記の通りです。

trueを指定 型と値が一致している場合のみ、キーを返す
falseを場合 値が一致していれば、キーを返す
型は異なっていても良い

第三引数を指定しなかった場合のデフォルト値はfalseです。

では、次の章で実際に使ってみます。

array_search関数を解説するプログラムの概要

array_search関数を解説するプログラムでは

  • オプションを設定しない
  • オプションを設定する
  • 連想配列で実施する

の3パターンでarray_search関数で配列から値を検索し、結果を表示させます。

phpプログラムは

C:\xampp\htdocs

配下に、【array_search_sample.php】というファイル名で格納しています。

PHPサンプルプログラム

実行結果

XAMPPを起動して、【http://localhost/array_search_sample.php】のURLにアクセスします。

XAMPPでPHPの動かし方については、こちらの記事をご参考ください。

第三引数に指定した値によって、取得できたりできないことが確認できました!

まとめ:array_search関数を使ってみよう!

以上がarray_search関数についての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました