本記事では、PHPで配列に特定の値が存在するか確認する方法について解説しています。
PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
in_array関数の使い方
配列に特定の値が存在するか確認したい時は、in_array関数を使用します。基本的な使い方は以下のとおりです。
$result = in_array($needle, $haystack [, $strict = false]);
構文解説
- $result:検索したい値を見つけた場合はtrueを返し、見つけられなかった場合はfalseを返す。
- $needle:検索したい値を指定
- $haystack:対象の配列を指定
- $strict:等価演算子(==)で比較する場合はfalseを指定し、厳密等価演算子(===)で比較する場合はtrueを指定します。デフォルト値はfalse。(省略可能)
in_array関数を使用したサンプルコードを用意したので、動作確認してみましょう。
<?php
$animalArr = ['dog', 'cat', 'cow', 'bird', 'rabbit', '1'];
var_dump(in_array('cat', $animalArr)); // bool(true)
var_dump(in_array(1, $animalArr)); // bool(true)
var_dump(in_array(1, $animalArr, true)); // bool(false)
1つ目のin_array関数は、第一引数の検索したい文字列に「cat」を指定しています。対象の配列に代入されている値を確認すると2つ目に「cat」があるのでtrueを返しています。
2つ目と3つ目のin_array関数は、第一引数の検索したい文字列に「1」を指定しています。ここまでは同じですが、3つ目のin_array関数には第三引数にtrueを指定しています。この指定をすることで値の比較を等価演算子ではなく厳密等価演算子で行うため文字列の「’1’」と数値の「1」は別の値と判断されfalseを返しています。