ホームページ > バックエンド開発 > PHPチュートリアル > PHPで配列内の指定された値を検索し、成功した場合に最初の対応するキーを返す方法

PHPで配列内の指定された値を検索し、成功した場合に最初の対応するキーを返す方法

WBOY
リリース: 2024-03-19 16:32:01
転載
477 人が閲覧しました

PHP 開発では、配列内の特定の値を検索し、対応するキー名を返すことが必要になることがよくあります。この機能は、PHP の array_search 関数を通じて実現できます。 array_search 関数は、配列内で指定された値を検索し、最初に対応するキーを返します。検索が成功した場合はキー名が返され、それ以外の場合は false が返されます。この関数は非常に実用的で、開発者が配列内の特定の値の位置をすばやく特定し、コードの効率を向上させるのに役立ちます。次に、PHPのarray_search関数を使って配列検索機能を実装する方法を詳しく紹介します。

in_array() 関数を使用する

in_array() 関数は、指定された値が配列内にあるかどうかを確認するために使用されます。一致するものが見つかった場合は true を返し、そうでない場合は false を返します。一致するキー名を取得するには、次の構文を使用できます:

$key = array_search($value, $array, $strict = false);
ログイン後にコピー
  • $value: 検索する値。
  • $array: 検索する配列。
  • $strict = false: (オプション) 厳密な比較を実行するかどうかを示します。 true の場合、型と値の両方が一致する必要があります。
######例えば:######

$array = ["リンゴ", "バナナ", "オレンジ"]; $key = array_search("バナナ", $array); if ($key !== false) { echo "キー名: $key"; } 出力:

キー名: 1
ログイン後にコピー

array_keys() 関数を使用する
ログイン後にコピー

array_keys() 関数は、配列内のすべてのキーの配列を返します。特定の値を検索するには、次の構文を使用できます: $keys = array_keys($array, $value, $strict = false);

$array: 
ログイン後にコピー
検索する配列。
  • $value: 検索する値。
  • $strict = false: (オプション) 厳密な比較を実行するかどうかを示します。 true の場合、型と値の両方が一致する必要があります。
  • 一致するものが見つかった場合、array_keys() は対応するキー名を含む配列を返します。それ以外の場合は、空の配列を返します。 ######例えば:######
  • $array = ["リンゴ" => "赤"、"バナナ" => "黄"、"オレンジ" => "オレンジ"]; $keys = array_keys($array, " yellow"); if (count($keys) > 0) { echo "キー名:"; foreach ($keys として $key) { エコー "$key "; } }

出力:

キー名: バナナ ######その他のオプション###### 上記の方法に加えて、配列内の値を検索するための他のオプションがあります:

ログイン後にコピー
ログイン後にコピー

foreach ループ:

配列をループし、== または === 演算子を使用して比較します。
ログイン後にコピー
ログイン後にコピー

array_filter(): 指定された条件を満たすすべての要素を含む新しい配列を作成します。

array_map():

配列内の各要素にコールバック関数を適用し、一致するものが見つかった場合はキー名を返します。
  • パフォーマンスノート
  • 非常に大きな配列を扱う場合、配列内の値の検索が遅くなる可能性があります。パフォーマンスを向上させるために、次のテクニックを使用できます:
  • 連想配列の代わりに インデックス付き 配列を使用します。
ハッシュ テーブルまたはディクショナリを使用して、キーと値のペアを保存します。

配列 を事前に並べ替えて、バイナリ検索を高速化します。

以上がPHPで配列内の指定された値を検索し、成功した場合に最初の対応するキーを返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート