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