今日の人気記事

  1. 数値の絶対値を取得 - abs()
  2. PHP + Apache 環境の構築
  3. ファイルから1行ずつ読み込む - fgets()
  4. 文字列をエスケープ・アンエスケープ - addslashes()、stripslashes()
  5. クッキーを削除する方法

配列の値を検索 - 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_reverse()
  2. PHP関数リファレンス
  3. 配列の値の出現回数をカウント - array_count_values関数
  4. 配列 異なる値を持つ要素を取得 - array_diff()、array_diff_assoc()
  5. 配列ポインタを先頭・最後に - reset()、end()
  6. 配列のキーをランダムに抽出 - array_rand()
  7. 2つの配列から連想配列を作成 - array_combine()

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