PHPのarray_search()関数を使用し配列で値を検索しキーを取得してみます。
array_search()関数は、配列で値を検索し、キーを取得することができます。
戻り値は、値が配列内で見つかった場合はそのキーを返し、それ以外の場合はFALSE(偽)を返します。配列内で値が複数回見つかった場合、最初に一致したキーを返します。
■基本的な構文
array_search(value, array, strict)
valueは、配列内で検索する値を指定します。
arrayは、検索対象の配列を指定します。
strictは、このパラメータがTRUE(真)に設定されている場合、array_search()関数は配列内の同一の要素を検索することができます。
■環境
・Windows10
・XAMPP 8.0.6
・PHP Version 8.0.6
■PHPのarray_search()関数を使用し配列で値を検索しキーを取得する
では、PHPのarray_search()関数を使用し配列で値を検索しキーを取得するスクリプトを書いていきます。
■コード
<html lang="ja">
<head>
<title>array_search()関数を使用し配列で値を検索しキーを取得する</title>
</head>
<body>
<?php
$str = array("a"=>"apple","b"=>"Banana","c"=>"Strawberry");
echo array_search("Strawberry",$str);
?>
</body>
</html>
今回は、strという変数を宣言し、その中でarray()関数を使用します。array()関数内の引数,パラメーターとして、キーと値(文字列)を渡します。これで配列が作成されます。
作成後、echo文とarray_search()関数を使用します。array_search()関数の括弧内には、第1の引数,パラメーターとして、配列内で検索する値(文字列)を渡します。第2の引数,パラメーターとして、検索対象となるstr変数を渡します。渡された情報を元に配列内で検索が行われ、キーを返します。返されたキーをecho文で出力します。
■実行
では、このスクリプトを「search_val_array_get_key.php」という名前で保存し、実行させてみます。
実行してみると、array_search()関数を使用したことにより、引数,パラメーターとして渡した配列内の値(文字列)の検索が行われ、値とセットのキーが取得されました。
■日本語の場合
次に配列内で検索する値(文字列)とキーが日本語の場合をやってみます。
■コード
<html lang="ja">
<head>
<title>array_search()関数を使用し配列で値を検索しキーを取得する</title>
</head>
<body>
<?php
$str = array("た"=>"田中","ろ"=>"露伴","き"=>"木元");
echo array_search("露伴",$str);
?>
</body>
</html>
■実行
では、このスクリプトを「search_val_array_get_key_2.php」という名前で保存し、実行させてみます。
実行してみると、配列内で検索する値(文字列)、そして値とセットになっているキーが日本語でも、配列内の値(文字列)の検索が行われ、値とセットのキーが取得されました。
コメント