ホームページ >バックエンド開発 >PHPチュートリアル >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 サイトの他の関連記事を参照してください。