PHPのin_array()
関数は、配列に、特定の値の配列要素があるかどうかを調べる組み込み関数 。
定義
論理型 in_array( 多様な型 $needle, 配列型 $haystack [, 論理型 $strict ] );
パラメータ
- 多様な型 $needle
あるかどうかを調べたい値を指定。
- 配列型 $haystack
「多様な型 $needle」に指定した値の配列要素があるかどうかを、調べる対象となる配列を指定。
- 論理型 $strict
オプション。
初期設定値は、「false」。
データ型も含めて等価比較するかどうか。
「true」を指定すると、データ型も含めて等価比較する。
「false」を指定すると、データ型は含めず等価比較する。
戻り値
論理型。
特定の値の配列要素があった場合、「TRUE」を返す。
特定の値の配列要素がなかった場合、「FALSE」を返す。
構文
特定の値の配列要素があるかどうかを調べる
論理型 = in_array( 検索語, 配列 );
配列に、検索語と一致する値を持つ配列要素があるかどうかを調べる。
検索語と一致する値を持つ配列要素があった場合、「TRUE」を返す。
検索語と一致する値を持つ配列要素がなかった場合、「FALSE」を返す。
特定の値の配列要素があるかどうかを調べる(型も含めて等価比較)
論理型 = in_array( 検索語, 配列, true );
配列に、検索語と型も含めて一致する値を持つ配列要素があるかどうかを調べる。
検索語と型も含めて一致する値を持つ配列要素があった場合、「TRUE」を返す。
検索語と型も含めて一致する値を持つ配列要素がなかった場合、「FALSE」を返す。
サンプル
配列に、特定の値の配列要素があるかどうかを調べる
<?php
$varArray = array( "レッド", "ブルー", "イエロー" );
echo "イエロー: ";
echo ( in_array( "イエロー", $varArray ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "イエロー", $varArray ) = ' . in_array( "イエロー", $varArray );
echo "<br />";
echo "グリーン: ";
echo ( in_array( "グリーン", $varArray ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "グリーン", $varArray ) = ' . in_array( "グリーン", $varArray );
?>
$varArray = array( "レッド", "ブルー", "イエロー" );
echo "イエロー: ";
echo ( in_array( "イエロー", $varArray ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "イエロー", $varArray ) = ' . in_array( "イエロー", $varArray );
echo "<br />";
echo "グリーン: ";
echo ( in_array( "グリーン", $varArray ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "グリーン", $varArray ) = ' . in_array( "グリーン", $varArray );
?>
↓↓↓出力結果↓↓↓
イエロー: ある
in_array( "イエロー", $varArray ) = 1
グリーン: ない
in_array( "グリーン", $varArray ) =
in_array( "イエロー", $varArray ) = 1
グリーン: ない
in_array( "グリーン", $varArray ) =
連想配列に、特定の値の配列要素があるかどうかを調べる
<?php
$varArray = array(
"red" => "レッド",
"blue" => "ブルー",
"yellow" => "イエロー"
);
echo "イエロー: ";
echo ( in_array( "イエロー", $varArray ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "イエロー", $varArray ) = ' . in_array( "イエロー", $varArray );
echo "<br />";
echo "グリーン: ";
echo ( in_array( "グリーン", $varArray ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "グリーン", $varArray ) = ' . in_array( "グリーン", $varArray );
?>
$varArray = array(
"red" => "レッド",
"blue" => "ブルー",
"yellow" => "イエロー"
);
echo "イエロー: ";
echo ( in_array( "イエロー", $varArray ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "イエロー", $varArray ) = ' . in_array( "イエロー", $varArray );
echo "<br />";
echo "グリーン: ";
echo ( in_array( "グリーン", $varArray ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "グリーン", $varArray ) = ' . in_array( "グリーン", $varArray );
?>
↓↓↓出力結果↓↓↓
イエロー: ある
in_array( "イエロー", $varArray ) = 1
グリーン: ない
in_array( "グリーン", $varArray ) =
in_array( "イエロー", $varArray ) = 1
グリーン: ない
in_array( "グリーン", $varArray ) =
連想配列に、特定の値の配列要素があるかどうかを調べる(型も含めて等価比較)
<?php
$varArray = array(
"six" => 6,
"seven" => 7,
"eight" => 8
);
echo "整数型の7: ";
echo ( in_array( 7, $varArray, true ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( 7, $varArray, true ) = ' . in_array( 7, $varArray, true );
echo "<br />";
echo '文字列型の"7": ';
echo ( in_array( "7", $varArray, true ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "7", $varArray, true ) = ' . in_array( "7", $varArray, true );
?>
$varArray = array(
"six" => 6,
"seven" => 7,
"eight" => 8
);
echo "整数型の7: ";
echo ( in_array( 7, $varArray, true ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( 7, $varArray, true ) = ' . in_array( 7, $varArray, true );
echo "<br />";
echo '文字列型の"7": ';
echo ( in_array( "7", $varArray, true ) ) ? "ある" : "ない";
echo "<br />";
echo 'in_array( "7", $varArray, true ) = ' . in_array( "7", $varArray, true );
?>
↓↓↓出力結果↓↓↓
整数型の7: ある
in_array( 7, $varArray, true ) = 1
文字列型の"7": ない
in_array( "7", $varArray, true ) =
in_array( 7, $varArray, true ) = 1
文字列型の"7": ない
in_array( "7", $varArray, true ) =