in_array関数とは?
in_array関数は、PHPで指定した値が配列に含まれているかどうかを調べるための関数です。
in_array関数の概要
in_array関数の基本的な書式は、次のとおりです。
PHP
bool in_array(mixed $needle, array $haystack, bool $strict = FALSE);
mixed $needle
:検索する値array $haystack
:検索対象の配列bool $strict = FALSE
:型チェックを行うかどうか(省略可)
needle
が haystack
に含まれている場合は、true
を返します。含まれていない場合は、false
を返します。
in_array関数の書き方
in_array関数の書き方は、次のとおりです。
- 検索する値を用意します。
- 検索対象の配列を用意します。
- in_array関数を呼び出して、結果を取得します。
PHP
// 検索する値の用意
$needle = "山田 太郎";
// 検索対象の配列の用意
$haystack = array("山田 太郎", "佐藤 花子", "鈴木 一郎");
// in_array関数の呼び出し
$result = in_array($needle, $haystack);
// 結果の確認
if ($result) {
echo "見つかりました。";
} else {
echo "見つかりませんでした。";
}
このコードを実行すると、次の出力になります。
見つかりました。
in_array関数の作成・使用方法
in_array関数は、次の2つの方法で使用できます。
if
文やswitch
文などの条件分岐で使用するforeach
文で使用する
PHP
// if 文での使用
$needle = "山田 太郎";
$haystack = array("山田 太郎", "佐藤 花子", "鈴木 一郎");
if (in_array($needle, $haystack)) {
echo "見つかりました。";
} else {
echo "見つかりませんでした。";
}
PHP
// foreach 文での使用
$haystack = array("山田 太郎", "佐藤 花子", "鈴木 一郎");
foreach ($haystack as $value) {
if (in_array($value, $haystack)) {
echo $value . " は見つかりました。";
}
}
in_array関数のスクリプトサンプル
次のスクリプトは、in_array関数を使用して、さまざまなデータの検索を行っています。
PHP
// 文字列の検索
$needle = "山田 太郎";
$haystack = array("山田 太郎", "佐藤 花子", "鈴木 一郎");
if (in_array($needle, $haystack)) {
echo "見つかりました。";
} else {
echo "見つかりませんでした。";
}
// 数値の検索
$needle = 20;
$haystack = array(10, 20, 30);
if (in_array($needle, $haystack)) {
echo "見つかりました。";
} else {
echo "見つかりませんでした。";
}
// 配列の検索
$needle = array("山田 太郎", "佐藤 花子");
$haystack = array(array("山田 太郎", "佐藤 花子"), array("鈴木 一郎", "田中 花子"));
if (in_array($needle, $haystack)) {
echo "見つかりました。";
} else {
echo "見つかりませんでした。";
}
このスクリプトを実行すると、次の出力になります。
見つかりました。
見つかりました。
見つかりました。
in_array関数特有の事柄・注意点
strict
オプションをTRUE
に設定すると、型チェックが行われます。FALSE
に設定すると、型チェックが行われません。
in_array関数のまとめ
in_array関数は、
in_array関数のまとめ
in_array関数は、PHPで指定した値が配列に含まれているかどうかを調べるための便利な関数です。PHPの初心者でも使いやすいので、ぜひ覚えておきましょう。
in_array関数を使用する際の注意点は、次のとおりです。
strict
オプションをTRUE
に設定すると、型チェックが行われるため、注意が必要です。
これらの注意点を踏まえて、in_array関数を活用してください。