PHPのarray_search()関数とは?使い方と具体例をわかりやすく解説
PHPのarray_search()関数は、配列の中から指定した値を検索し、見つかった場合にそのキーを返す関数です。値が配列内に存在しない場合はFALSEを返します。また、同じ値が配列内に複数存在する場合は、最初に一致したキーが返されるという特徴があります。
基本構文
array_search(val, arr, strict)
パラメータ
val − 配列内で検索したい値
arr − 検索対象となる配列
strict − TRUE または FALSE を指定できます。TRUE を設定すると、値だけでなくデータ型まで含めた厳密な比較(===)を行って同一要素を検索します。
戻り値
指定した値が配列内に見つかった場合はそのキーを返し、見つからなかった場合は FALSE を返します。値が複数回出現する場合は、最初にマッチしたキーのみが返されます。
ポイント: 戻り値が FALSE になる可能性があるため、判定には必ず === や !== のような厳密な比較演算子を使うことが推奨されます。緩い比較(==)では、キー「0」が返された場合に FALSE と誤判定される恐れがあります。
使用例1:連想配列での検索
<?php
$arr = array("p"=>20,"q"=>20,"r"=>30,"s"=>40);
echo array_search(20,$arr,true);
?>出力結果
p
この例では、値「20」を持つ最初のキーである「p」が返されています。キー「q」も同じ値を持ちますが、先に一致した方だけが出力されます。
使用例2:数値配列での検索
<?php $arr = array(30, 2, 5, 7, 90, 35, 78); echo array_search(35,$arr,true); ?>
出力結果
5
通常のインデックス配列の場合は、検索した値に対応する数値インデックスが返ります。
使用例3:文字列を含む配列での検索
<?php
$arr = array("MAC", "WINDOWS","LINUX", "SOLARIS");
$search = "WINDOWS";
echo array_search($search,$arr,true);
?>出力結果
1
文字列の検索でも同様に機能し、「WINDOWS」はインデックス「1」の位置にあるため「1」が出力されます。
まとめ
array_search()関数は、配列から特定の値を探してそのキーを取得したいときに便利な関数です。特に strict パラメータを TRUE にすることで型の違いによる予期しないマッチを防げるため、実務では厳密な比較を活用することをおすすめします。
-
PHPのarray_search()関数とは?使い方と具体例をわかりやすく解説
PHPのarray_search()関数は、配列の中から指定した値を検索し、見つかった場合にそのキーを返す関数です。値が配列内に存在しない場合はFALSEを返します。また、同じ値が配列内に複数存在する場合は、最初に一致したキーが返されるという特徴があります。基本構文array_search(val, arr, strict)パラメータval − 配列内で検索したい値arr − 検索対象となる配列strict − TRUE または FALSE を指定できます。TRUE を設定すると、値だけでなくデータ型まで含めた厳密な比較(===)を行って同一要素を検索します。戻り値指定した値が配列内に見つかっ
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に