ホームページ >バックエンド開発 >PHPチュートリアル >PHP 多次元配列内の値を効率的に検索するにはどうすればよいですか?

PHP 多次元配列内の値を効率的に検索するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-28 03:23:09708ブラウズ

How Can I Efficiently Search for a Value in a PHP Multidimensional Array?

値の最適化による PHP 多次元配列検索

多次元配列内の特定の値を検索する場合、効率が最も重要です。従来のループ方法は、特に大規模な配列の場合、面倒で時間がかかる可能性があります。

この検索を最適化するには、カスタム関数の実装を検討してください。

function searchForId($id, $array) {
  foreach ($array as $key => $val) {
    if ($val['uid'] === $id) {
      return $key;
    }
  }
  return null;
}

この関数は配列を反復処理し、比較します。各要素の「uid」プロパティを指定された「id」に変換します。一致するものが見つかった場合は、対応する配列キーを返します。

たとえば、次の配列を使用すると:

$userdb = [
  [
    'uid' => '100',
    'name' => 'Sandra Shush',
    'pic_square' => 'urlof100'
  ],
  [
    'uid' => '5465',
    'name' => 'Stefanie Mcmohn',
    'pic_square' => 'urlof100'
  ],
  [
    'uid' => '40489',
    'name' => 'Michael',
    'pic_square' => 'urlof40489'
  ]
];

'searchForId(100, $userdb)' を呼び出すと 0 が返されます。 'searchForId(40489, $userdb)' を呼び出すと 2 が返されます。

PHP での代替アプローチバージョン 5.5.0 以降では、「array_search」関数と「array_column」関数を使用します。

$key = array_search('100', array_column($userdb, 'uid'));

このワンライナーは、カスタム関数と同じタスクを効率的に実行します。

組み込むことでこれらの最適化により、PHP での多次元配列検索のパフォーマンスを大幅に向上させることができます。

以上がPHP 多次元配列内の値を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。