在物件數組中按屬性查找物件
給定一個物件數組,其中每個物件都有一個「ID」屬性,我們需要識別並檢索與ID 屬性的特定值相符的物件。讓我們考慮一個名為 $array 的數組,其中的物件具有「ID」和「name」屬性。
要解決此問題,有兩種常見策略:
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];
如果效能是一個問題,那麼對於大型數組,通常首選 hashmap 建立方法。然而,對於小型數組,數組迭代的簡單性可能更適合。
以上是如何在物件數組中透過ID有效率地尋找物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!