オブジェクト プロパティによる配列エントリの検索
オブジェクトの配列があり、プロパティ値に基づいて特定のエントリを見つける必要がある場合は、主なアプローチは 2 つあります。反復またはハッシュマップの作成です。
反復アプローチ:
このアプローチは 1 回限りの検索に適しています。これには、配列をループし、各オブジェクトが一致するプロパティ値をチェックすることが含まれます:
$item = null; foreach ($array as $struct) { if ($v === $struct->ID) { $item = $struct; break; } }
ハッシュマップの作成:
特に実行する必要がある場合の高速検索用複数の検索を行う場合は、連想配列を使用してハッシュマップを構築することを検討してください。このメソッドには、対象のオブジェクト プロパティによってインデックス付けされた新しい配列の作成が含まれます。
$hashmap = []; foreach ($array as $struct) { $hashmap[$struct->ID] = $struct; } $item = $hashmap[$v];
これにより、プロパティ値によって目的のオブジェクトを即座に取得できるようになります。この例の stdClass オブジェクトには、PHP の矢印演算子 (->) 構文を介してアクセスできることに注意してください。
以上がPHP でオブジェクト プロパティに基づいて配列エントリを効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。