在多維數組中搜尋特定值時,效率至關重要。傳統的循環方法可能既麻煩又耗時,尤其是對於大型陣列。
要最佳化此搜索,請考慮實作自訂函數:
function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val['uid'] === $id) { return $key; } } return null; }
此函數迭代數組,比較每個元素的「uid」屬性為指定的「id」。如果找到匹配項,則傳回對應的陣列鍵。
例如,使用下列陣列:
$userdb = [ [ 'uid' => '100', 'name' => 'Sandra Shush', 'pic_square' => 'urlof100' ], [ 'uid' => '5465', 'name' => 'Stefanie Mcmohn', 'pic_square' => 'urlof100' ], [ 'uid' => '40489', 'name' => 'Michael', 'pic_square' => 'urlof40489' ] ];
呼叫 'searchForId(100, $userdb)' 將傳回 0,呼叫 'searchForId(40489, $userdb)' 將傳回 2。
PHP 版本中的替代方法5.5.0 以上版本是使用'array_search' 和'array_column' 函數:
$key = array_search('100', array_column($userdb, 'uid'));
這個單行程式碼有效地執行與自訂函數相同的任務。
透過合併這些最佳化,您可以顯著提高 PHP 中多維數組搜尋的效能。
以上是如何有效率地在 PHP 多維數組中搜尋值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!