ホームページ >バックエンド開発 >PHPチュートリアル >PHP でオブジェクトのプロパティ値に基づいて配列エントリを効率的に検索するにはどうすればよいですか?
オブジェクト プロパティ値による配列エントリの検索
各オブジェクトが「ID」プロパティを持つオブジェクトを含む配列を考えます。整数変数 "$v" が与えられた場合、タスクは、"$v" と一致する "ID" プロパティを持つオブジェクトを含む配列エントリを選択する方法を決定することです。
反復アプローチ
1 つの方法では、各配列エントリを反復処理し、オブジェクトの "ID" プロパティを "$v" と比較します。次のコードはこれを示しています。
$item = null; foreach($array as $struct) { if ($v == $struct->ID) { $item = $struct; break; } }
このアプローチは、パフォーマンスが大きな問題ではない場合の 1 回限りの検索に適しています。
HashMap アプローチ
代替戦略は、別の連想配列を使用してハッシュマップを構築することです。これには、「ID」プロパティをキーとして使用して、各オブジェクトをハッシュマップに追加することが含まれます。一致する「ID」を持つオブジェクトの検索は O(1) 操作になります。このアプローチの詳細については、「複数のインデックスによる PHP 配列の参照」という質問を参照してください。
以上がPHP でオブジェクトのプロパティ値に基づいて配列エントリを効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。