オブジェクトの配列内のプロパティによるオブジェクトの検索
各オブジェクトが "ID" プロパティを持つオブジェクトの配列が与えられたとします。 ID プロパティの特定の値に一致するオブジェクトを識別して取得する必要があります。 "ID" プロパティと "name" プロパティを持つオブジェクトを持つ $array という名前の配列を考えてみましょう。
この問題にアプローチするには、2 つの一般的な戦略があります。
1.配列の反復:
これには、配列内の各オブジェクトをループし、その "ID" プロパティが目的の値と一致するかどうかを確認することが含まれます。このアプローチは簡単ですが、大規模な配列の場合は非効率的になる可能性があります。
$item = null; foreach ($array as $struct) { if ($v == $struct->ID) { $item = $struct; break; } }
2.ハッシュマップの作成:
「ID」プロパティをキーとして使用し、オブジェクトを値として使用するハッシュマップを作成できます。これにより、ID に基づいて目的のオブジェクトに直接アクセスできるようになります。
$hashmap = []; foreach ($array as $struct) { $hashmap[$struct->ID] = $struct; } $item = $hashmap[$v];
パフォーマンスが懸念される場合は、一般に、大規模な配列に対してハッシュマップ作成アプローチが推奨されます。ただし、小さな配列の場合は、配列の反復の単純さがより適している可能性があります。
以上がオブジェクトの配列内で ID によってオブジェクトを効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。