今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 文字列をファイルに書き込む - file_put_contents()
  3. ヒアドキュメント
  4. 論理値 - boolean
  5. OS情報を取得 - php_uname()

配列の値を検索 - array_search関数

当ページのリンクには広告が含まれています。

プログラミング言語PHPで、配列の値を検索する関数 array_search()を紹介します。

array_search()

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
指定した値を配列の値から検索します。
引数
$needle
検索する値を指定します。大文字と小文字は区別されます。
$haystack
値を検索する配列を指定します。
$strict
trueを指定した場合、配列の値と検索する値の型が一致するかをまで比較します。
返り値
検索する値が見つかった場合は値のインデックスキーを、
その他の場合falseを返します。

サンプルコード - 配列

配列から指定した値(ここでは、大文字のPHP)を検索するサンプルコードです。

array_search( 検索する値, 配列 );
<?php
echo "# 大文字と小文字\n";
$a = array("PHP", "リファレンス", "テスト", "PHP");
print_r($a);
var_dump(array_search("PHP", $a));
var_dump(array_search("php", $a));

echo "\n";
echo "# 一致する値が複数\n";
$b = array("リファレンス", "PHP", "テスト", "PHP");
print_r($b);
var_dump(array_search("PHP", $b));
?>

実行結果です。

# 大文字と小文字
Array
(
    [0] => PHP
    [1] => リファレンス
    [2] => テスト
    [3] => PHP
)
int(0)
bool(false)

# 一致する値が複数
Array
(
    [0] => PHP
    [1] => リファレンス
    [2] => テスト
    [3] => PHP
)
int(1)

配列の値と指定した値が一致した場合、その値の整数インデックスキーを返します。一致しない場合は、falseを返します。指定した値と一致する配列の値が複数ある場合は、はじめに一致したインデックスキーを返します。

サンプルコード - 連想配列

次は連想配列の値を検索してみましょう。

array_search( 検索する値, 配列 );
<?php
echo "# 連想配列の値を検索\n";
$c = array("PHP" => "入門", "C言" => "語", "サーバー" => "比較");
print_r($c);
var_dump(array_search("比較", $c));

echo "\n";
echo "# 連想配列の値が重複\n";
$d = array("PHP" => "入門", "サーバー" => "比較", "C言" => "語", "VPS" => "比較");
print_r($d);
var_dump(array_search("比較", $d));
?>

実行結果です。

# 連想配列の値を検索
Array
(
    [PHP] => 入門
    [C言] => 語
    [サーバー] => 比較
)
string(12) "サーバー"

# 連想配列の値が重複
Array
(
    [PHP] => 入門
    [サーバー] => 比較
    [C言] => 語
    [VPS] => 比較
)
string(12) "サーバー"

配列の値と指定した値が一致した場合、その値の文字列インデックスキーを返します。指定した値と一致する配列の値が複数ある場合は、はじめに一致したインデックスキーを返します。

配列 の人気記事

  1. 配列の値に数値インデックスを付ける - array_values()
  2. 配列のキーを大文字 / 小文字に変更 - array_change_key_case()
  3. 配列の要素を逆順に - array_reverse()
  4. 配列の要素をシャッフル - shuffle()

関連記事(一部広告含む)