首頁 > 後端開發 > php教程 > 如何在多維數組中找到特定值的鍵?

如何在多維數組中找到特定值的鍵?

Mary-Kate Olsen
發布: 2024-12-11 05:57:13
原創
474 人瀏覽過

How to Find the Key for a Specific Value in a Multidimensional Array?

辨識特定陣列值的鍵

處理多維數組時,需要搜尋特定值並擷取對應的鍵。在這種情況下,我們的目標是在多維數組中尋找給定值的鍵。

使用 array_search() 進行陣列搜尋

搜尋陣列的一種方法是利用 PHP 5.5.0 及更高版本中提供的 array_search() 函數。此函數需要兩個參數:目標值和要在其中搜尋的陣列。如果找到,則傳回與目標值關聯的鍵,否則傳回 FALSE。

範例

考慮以下多維數組:

$products = [
    1 => [
        'slug' => 'breville-one-touch-tea-maker-BTM800XL',
        'name' => 'The Breville One-Touch Tea Maker',
    ],
    2 => [
        'slug' => 'breville-variable-temperature-kettle-BKE820XL',
        'name' => 'Breville Variable-Temperature Kettle BKE820XL',
    ],
];
登入後複製

搜尋與slug 相關的金鑰breville-one-touch-tea-maker- BTM800XL:

$key = array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
登入後複製

array_column()函數用於將每個子數組中的 'slug' 值提取到一維數組中,從而啟用 array_search()函數有效地執行搜尋。

使用替代解決方案array_search_multidim()

對於獨立的解決方案,您可以定義一個自訂函數,例如:

function array_search_multidim($array, $column, $key) {
    return (array_search($key, array_column($array, $column)));
}
登入後複製

此函數可讓您將多維數組、列名傳遞給在(例如「slug」)和目標中搜尋值。

範例

$key = array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
登入後複製

以上是如何在多維數組中找到特定值的鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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