反轉(zhuǎn)關(guān)聯(lián) php 數(shù)組的最佳實(shí)踐包括:使用內(nèi)置的 array_flip() 函數(shù)。使用 array_combine() 函數(shù),需要傳入鍵和值數(shù)組。對(duì)于小型數(shù)組,可以手動(dòng)遍歷,并為新數(shù)組中的每個(gè)值設(shè)置一個(gè)對(duì)應(yīng)的鍵。
反轉(zhuǎn)關(guān)聯(lián) PHP 數(shù)組:最佳實(shí)踐
在 PHP 中,關(guān)聯(lián)數(shù)組是一種將按鍵與值關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)。有時(shí),我們可能需要反轉(zhuǎn)此結(jié)構(gòu),并按鍵檢索值。以下是一些反轉(zhuǎn)關(guān)聯(lián)數(shù)組的最佳實(shí)踐:
內(nèi)置函數(shù)
PHP 提供了 array_flip()
函數(shù)來(lái)輕松反轉(zhuǎn)關(guān)聯(lián)數(shù)組。它創(chuàng)建一個(gè)新數(shù)組,其中原始數(shù)組的值成為鍵,而原始數(shù)組的鍵成為值。
$original = ['name' => 'John', 'age' => 30]; $reversed = array_flip($original);
登錄后復(fù)制
array_combine()
函數(shù)
另一種方法是使用 array_combine()
函數(shù)。與 array_flip()
類似,它創(chuàng)建一個(gè)新數(shù)組,但需要兩個(gè)數(shù)組作為參數(shù):一個(gè)用于鍵,另一個(gè)用于值。
$keys = array_keys($original); $values = array_values($original); $reversed = array_combine($values, $keys);
登錄后復(fù)制
手動(dòng)遍歷
對(duì)于小型數(shù)組,可以使用手動(dòng)遍歷的方法。創(chuàng)建新數(shù)組,循環(huán)遍歷原始數(shù)組,并將每個(gè)值設(shè)為新數(shù)組中對(duì)應(yīng)的鍵。
$reversed = []; foreach ($original as $key => $value) { $reversed[$value] = $key; }
登錄后復(fù)制
實(shí)戰(zhàn)案例
假設(shè)我們有一個(gè)包含用戶 ID 和姓名的數(shù)組:
$user_data = [ 1 => 'John', 2 => 'Mary', 3 => 'Bob' ];
登錄后復(fù)制
我們可以使用 array_flip()
反轉(zhuǎn)此數(shù)組,以便通過(guò)用戶名查找用戶 ID:
$reversed_user_data = array_flip($user_data);
登錄后復(fù)制
然后,我們可以通過(guò)以下方式通過(guò)用戶名查找用戶 ID:
echo $reversed_user_data['John']; // 輸出:1
登錄后復(fù)制