array_search関数の使い方(特定の値が配列に含まれているか調べキーを返す)

PHP で用意されている組み込み関数の一つである array_search 関数の使い方です。 array_search 関数は配列の中に特定の値が含まれているかどうかを調べ、存在している場合はキーを返します。

(2022 年 09 月 28 日公開 / 2022 年 09 月 28 日更新)

array_search関数の書式と基本的な使い方

array_search 関数は次のように定義されています。

array_search
mixed array_search(mixed needle, array haystack [, bool strict])
引数に指定した値が配列に含まれているかどうかを調べます。デフォルト
では同じ型かどうかまでは調べません。

引数:
  needle  調べたい値
  haystack  対象となる配列
  strict  型も同じかどうかまで調べる場合はTRUE
返り値:
  見つかった場合はキーを返す。見つからなかった場合はFALSE。

配列の中に該当する項目が2つ以上ある場合は、最初に見つかった項目のキーを返します。

具体的な例で考えてみます。下記のような連想配列があるとします。

$array_fruit = array('apple'=>'赤','melon'=>'緑','banana'=>'黄');

上記に対して「array_search('緑', $array_fruit);」を実行すると、'melon'が帰ってきます。

サンプルコード

では実際に試してみます。

<html>
<head><title>PHP TEST</title></head>
<body>

<?php

$array_fruit = array('apple'=>'赤','melon'=>'緑','banana'=>'黄');

$search = '緑';
$key = array_search($search, $array_fruit);

if ($key == FALSE){
    print('配列の中に'.$search.'は見つかりません<br>');
}else{
    print($search.'に対応するキーは'.$key.'です<br>');
}

$search = '白';
$key = array_search($search, $array_fruit);

if ($key == FALSE){
    print('配列の中に'.$search.'は見つかりません<br>');
}else{
    print($search.'に対応するキーは'.$key.'です<br>');
}

?>
</body>
</html>

上記のファイルを Web サーバに設置しブラウザ経由で見ると下記のように表示されます。

array_searchのテスト

-- --

PHP で用意されている組み込み関数の一つである array_search 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Twitterでシェアする
広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。