」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何根據物件的ID屬性有效率地尋找數組條目?

如何根據物件的ID屬性有效率地尋找數組條目?

發佈於2024-12-23
瀏覽:760

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;
    }
}

此方法適合一次性搜索,但對於大型資料集可能會變得低效。

2. Hashmap 方法

或者,我們可以使用另一個關聯數組來建構一個 hashmap。

$HashMap = [];
foreach ($array as $struct) {
    $HashMap[$struct->ID] = $struct;
}

$item = $HashMap[$v];

這種方法可以使用「ID」值作為鍵直接存取所需的條目,但需要額外的記憶體開銷。

因此,方法的選擇取決於搜尋操作的頻率和規模。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3