PHP 多維數組按值搜尋以提高效率
在多維PHP 數組中搜尋特定值可能是一項耗時的任務,特別是對於大型陣列。本文介紹了應對這項挑戰的有效解決方案。
在使用者資料庫中按使用者ID (uid) 搜尋
考慮以下2D 使用者資料庫陣列:
$userdb = [ [ 'uid' => '100', 'name' => 'Sandra Shush', 'pic_square' => 'urlof100' ], [ 'uid' => '5465', 'name' => 'Stefanie Mcmohn', 'pic_square' => 'urlof100' ], [ 'uid' => '40489', 'name' => 'Michael', 'pic_square' => 'urlof40489' ] ];
目標是搜尋特定的uid 並傳回其對應的陣列鍵。例如,search_by_uid(100) 應傳回 0。
使用自訂函數進行高效搜尋
以下自訂函數提供比使用自訂函數更快的搜尋循環:
function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val['uid'] === $id) { return $key; } } return null; }
用法:
$id = searchForId('100', $userdb);
PHP One-Liner >= 5.5.0
在PHP >= 5.5.0 中,您可以使用單行程式碼來搜尋陣列列:
$key = array_search('100', array_column($userdb, 'uid'));
結論
這些搜尋方法顯著提高了在多維PHP數組中查找值的效率,與手動循環方法相比,提供了更快的執行時間.
以上是如何在多維 PHP 數組中高效搜尋值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!