ホームページ > バックエンド開発 > PHPチュートリアル > オブジェクトの配列内で ID によってオブジェクトを効率的に検索するにはどうすればよいですか?

オブジェクトの配列内で ID によってオブジェクトを効率的に検索するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-28 05:43:09
オリジナル
410 人が閲覧しました

How to Efficiently Find an Object by its ID in an Array of Objects?

オブジェクトの配列内のプロパティによるオブジェクトの検索

各オブジェクトが "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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート