在PHP 中鍵值對調有三種最優方案:array_flip() 函數可快速互換唯一鍵和值的陣列;array_combine() 函數合併兩個陣列形成新陣列;自訂函數可用於自訂重複值處理等高階需求。最佳方案選擇取決於鍵值唯一性、重複值數量和效率考量。
PHP 陣列鍵值對調:最佳方案的選擇
在PHP 中,對於陣列鍵值對調的需求十分常見。本文將探索幾種最有效的方法,並提供實戰案例進行詳細說明。
方法 1:使用 array_flip() 函數
#array_flip()
是內建函數,可將陣列的鍵和值互換。語法如下:
$new_array = array_flip($array);
優點:
缺點:
實戰案例:
假設我們需要將['name' => 'John', 'age' => 30]
陣列的鍵值對調。
$array = ['name' => 'John', 'age' => 30]; $new_array = array_flip($array); foreach ($new_array as $key => $value) { // 遍历新数组 echo "$key: $value<br>"; }
#輸出:
John: name 30: age
方法2:使用array_combine() 函數
##array_combine() 函數可使用兩個數組產生一個新數組,其中一個數組作為鍵,另一個數組作為值。語法如下:
$new_array = array_combine($keys, $values);
優點:
缺點:
實戰案例:
假設我們需要將鍵為['John', 'Mary']、值為
[30, 25] 的兩個數組合併為一個新數組。
$keys = ['John', 'Mary']; $values = [30, 25]; $new_array = array_combine($keys, $values); foreach ($new_array as $key => $value) { // 遍历新数组 echo "$key: $value<br>"; }#輸出:
John: 30 Mary: 25
方法 3:使用自訂函數
我們也可以寫自己的函數來實作鍵值對調功能。語法如下:function flip_array($array) { $new_array = []; foreach ($array as $key => $value) { $new_array[$value] = $key; } return $new_array; }
優點:
缺點:
實戰案例:
我們可以使用此自訂函數來顛倒['name' => 'John', 'age' => 30] 陣列的鍵值。
function flip_array($array) { // 使用自定义函数 $new_array = []; foreach ($array as $key => $value) { $new_array[$value] = $key; } return $new_array; } $array = ['name' => 'John', 'age' => 30]; $new_array = flip_array($array); foreach ($new_array as $key => $value) { // 遍历新数组 echo "$key: $value<br>"; }輸出:
John: name 30: age
選擇最佳方案
#最佳方案的選擇取決於特定需求:。
。
和
array_combine() 通常更快。
以上是PHP 數組鍵值對調:最佳方案的選擇的詳細內容。更多資訊請關注PHP中文網其他相關文章!