ホームページ >バックエンド開発 >PHPチュートリアル >オブジェクトの ID プロパティに基づいて配列エントリを効率的に検索するにはどうすればよいですか?
オブジェクト プロパティに基づく配列エントリの識別
それぞれが「ID」プロパティを持つオブジェクトの配列を考えてみましょう。変数 "$v" に格納されている特定の "ID" 値に対応するエントリを見つけるには、いくつかのアプローチを検討します。
1.反復検索
これには、配列を順次反復処理し、各オブジェクトの "ID" プロパティを目的の値 "$v" と比較することが含まれます。
$item = null; foreach($array as $struct) { if ($v == $struct->ID) { $item = $struct; break; } }
この方法は適切です1 回限りの検索の場合は可能ですが、大規模なデータセットの場合は非効率になる可能性があります。
2.ハッシュマップ手法
別の連想配列を使用してハッシュマップを構築することもできます。
$HashMap = []; foreach ($array as $struct) { $HashMap[$struct->ID] = $struct; } $item = $HashMap[$v];
この手法では、「ID」値をキーとして使用して、目的のエントリに直接アクセスできます。ただし、追加のメモリ オーバーヘッドが必要です。
したがって、アプローチの選択は検索の頻度とサイズによって異なります。操作。
以上がオブジェクトの ID プロパティに基づいて配列エントリを効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。