首頁 > 後端開發 > php教程 > 如何在多維 PHP 數組中高效搜尋值?

如何在多維 PHP 數組中高效搜尋值?

Patricia Arquette
發布: 2024-12-29 14:54:11
原創
187 人瀏覽過

How Can I Efficiently Search for a Value in a Multidimensional PHP Array?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板