✔️array_search関数とは
✔️array_search関数の使い方
今回はarray_search関数について説明します!
関数に関しては下記の記事を参考にして下さい。
※「独学でツラくなった方」はこちらをご覧ください!
【基礎編】array_search関数とは
array_search関数とは、配列の中に検索した要素があるかどうかを調べる関数です。
返り値は、値が配列内に存在する場合はそのキーを返し、それ以外の場合はfalseを返します。
返り値に関しては下記の記事を参考にして下さい。
関数の書き方は下記の通りです。
array_search(検索対象の値, 検索対象の配列 [, 型の比較を行うかどうか]);
第1引数には検索したい値、第2引数には検索する配列、第3引数には型の比較までを行うどうかをboolean型でしてします。
型に関しては下記の記事を参考にして下さい。
【基礎編】array_search関数の使い方
実際の使い方を確認してみましょう!
サンプルコード
<?php
$sports=['tennis','baseball','football','basketball'];
$result=array_search('baseball',$sports);
var_dump($result);
?>
結果は下記の通りです。
コード解説
$sportsの配列の中に、「baseball」の要素があるかを確認するコードになっています。
「baseball」要素が存在する場合は、キーが返されます。
今回「baseball」は$sports配列の「1」に位置している為、返り値として「1」が返されます。
次は大文字と小文字が判別できるか確認してみましょう!
サンプルコード
<?php
$sports=['tennis','baseball','football','basketball'];
$result=array_search('BASEBALL',$sports);
var_dump($result);
?>
結果は下記の通りです。
コード解説
先ほど使用した$sport配列を再度使用しております。検索対象の要素を「baseball」から「BASEBALL」に変更しました。
結果は「false」が返ってきました。
つまり、array_search関数は要素を検索する際は、大文字小文字を区別します。
次は第3引数として型の比較をする場合を確認してみましょう!
サンプルコード
<?php
$number=['1','2','3','4'];
$result=array_search(1,$number,true);
var_dump($result);
?>
結果は下記の通りです。
コード解説
$numberの配列の中に、「1」の要素があるかを確認するコードになっています。また、第3引数がtrueになっている為、型の比較も行います。
$numberには「1」の要素はありますが、文字列である為、検索要素の「1」(整数型)とは異なります。
よって、falseが返り値として返されます。
【応用編】array_search関数で連想配列の検索
array_search関数は連想配列での要素検索も可能です。
下記のコードで確認してみましょう!
サンプルコード
<?php
$sports=['テニス'=>'tennis','野球'=>'baseball','サッカー'=>'soccer'];
$result=array_search('soccer',$sports);
var_dump($result);
?>
結果は下記の通りです。
コード解説
$sportsの配列の中に、「soccer」の要素があるかを確認するコードになっています。
要素の中に「soccer」が存在する為、その要素のキーである「サッカー」が返り値として返されます。
【応用編】複数の値を検索する場合
複数の値を検索したい場合は、array_keys関数を使います。
array_keys関数は、検索して見つかった全てのインデックスキーを配列にして返してくれます。
実際の例を確認してみましょう!
サンプルコード
<?php
$array=['tennis','baseball','soccer','tennis'];
$array_keys=array_keys($array,'tennis');
var_dump($array_keys);
?>
結果は下記の通りです。
コード解説
配列「$array」の要素から「tennis」を検索するコードになります。
見つかったキーである「0」と「3」が配列として返されていることがわかります。
array_keys関数の詳細は下記の記事を参考にして下さい!
独学でツラくなった方へ
- 将来のキャリアに不安を感じるが、何から始めていいかわからない。。
- 仕事が忙しいため両立できるか不安。
- 効率よくスキルを身につけたい
- 完全未経験からエンジニアを目指したい方へ!カウンセリング受講者の97%以上が未経験者で安心です。
- 「就業両立コース」で、仕事と両立して効率よくスキルを身につけることができます!
- キャリアイメージ、スキル習得など、無料カウンセリングで、今悩んでいることを気軽にプロに相談できます
まとめ
✅array_search関数の使い方
✅連想配列の検索方法
今回は以上になります。
是非実際の開発での活用してマスターしていきましょう!
配列における組み込み関数のまとめは下記の記事を参考にして下さい!