「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > オブジェクトの ID プロパティに基づいて配列エントリを効率的に検索するにはどうすればよいですか?

オブジェクトの ID プロパティに基づいて配列エントリを効率的に検索するにはどうすればよいですか?

2024 年 12 月 23 日に公開
ブラウズ:237

How Can I Efficiently Find an Array Entry Based on an Object\'s ID Property?

オブジェクト プロパティに基づく配列エントリの識別

それぞれが "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」値をキーとして使用して目的のエントリに直接アクセスできますが、追加のメモリ オーバーヘッドが必要です。

したがって、どのアプローチを選択するかは、検索操作の頻度とサイズによって異なります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3