array_search関数の使い方

array_search関数の使い方 PHP言語リファレンス
array_search関数の使い方
zucksadnetwork

array_search関数とは?

array_search関数は、PHPで指定した値が配列に含まれている場合、その値のインデックスを返す関数です。

array_search関数の概要

array_search関数の基本的な書式は、次のとおりです。

PHP

int array_search(mixed $needle, array $haystack);
  • mixed $needle:検索する値
  • array $haystack:検索対象の配列

needlehaystack に含まれている場合は、その値のインデックスを返します。含まれていない場合は、FALSE を返します。

array_search関数の書き方

array_search関数の書き方は、次のとおりです。

  1. 検索する値を用意します。
  2. 検索対象の配列を用意します。
  3. array_search関数を呼び出して、結果を取得します。

PHP

// 検索する値の用意
$needle = "山田 太郎";

// 検索対象の配列の用意
$haystack = array("山田 太郎", "佐藤 花子", "鈴木 一郎");

// array_search関数の呼び出し
$result = array_search($needle, $haystack);

// 結果の確認
if ($result !== FALSE) {
    echo "見つかりました。インデックスは {$result} です。";
} else {
    echo "見つかりませんでした。";
}

このコードを実行すると、次の出力になります。

見つかりました。インデックスは 0 です。

array_search関数の作成・使用方法

array_search関数は、次の2つの方法で使用できます。

  • if 文や switch 文などの条件分岐で使用する
  • foreach 文で使用する

PHP

// if 文での使用
$needle = "山田 太郎";
$haystack = array("山田 太郎", "佐藤 花子", "鈴木 一郎");

$result = array_search($needle, $haystack);

if ($result !== FALSE) {
    echo "見つかりました。インデックスは {$result} です。";
} else {
    echo "見つかりませんでした。";
}

PHP

// foreach 文での使用
$haystack = array("山田 太郎", "佐藤 花子", "鈴木 一郎");

foreach ($haystack as $key => $value) {
    if ($key === array_search($value, $haystack)) {
        echo $value . " は見つかりました。インデックスは {$key} です。";
    }
}

array_search関数のスクリプトサンプル

次のスクリプトは、array_search関数を使用して、さまざまなデータの検索を行っています。

PHP

// 文字列の検索
$needle = "山田 太郎";
$haystack = array("山田 太郎", "佐藤 花子", "鈴木 一郎");

$result = array_search($needle, $haystack);

if ($result !== FALSE) {
    echo "見つかりました。インデックスは {$result} です。";
} else {
    echo "見つかりませんでした。";
}

// 数値の検索
$needle = 20;
$haystack = array(10, 20, 30);

$result = array_search($needle, $haystack);

if ($result !== FALSE) {
    echo "見つかりました。インデックスは {$result} です。";
} else {
    echo "見つかりませんでした。";
}

// 配列の検索
$needle = array("山田 太郎", "佐藤 花子");
$haystack = array(array("山田 太郎", "佐藤 花子"), array("鈴木 一郎", "田中 花子"));

$result = array_search($needle, $haystack);

if ($result !== FALSE) {
    echo "見つかりました。インデックスは {$result} です。";
} else {
    echo "見

array_search関数特有の事柄・注意点

  • array_search関数は、配列のキーと値の順序に関係なく、値を検索します。
  • 検索する値が配列の複数の要素に含まれている場合、最初に見つかった要素のインデックスを返します。

array_search関数のまとめ

array_search関数は、PHPで指定した値が配列に含まれている場合、その値のインデックスを返す便利な関数です。PHPの初心者でも使いやすいので、ぜひ覚えておきましょう。

array_search関数を使用する際の注意点は、次のとおりです。

  • array_search関数は、配列のキーと値の順序に関係なく、値を検索します。
  • 検索する値が配列の複数の要素に含まれている場合、最初に見つかった要素のインデックスを返します。

これらの注意点を踏まえて、array_search関数を活用してください。

PHP言語リファレンス制御構造
PHPプログラミング図鑑をフォローする
PHPプログラミング図鑑