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