陣列鍵值顛倒在 PHP 中可透過多種高效方法實作:使用 array_flip() 函數,直接交換鍵和值。編寫自訂函數,使用 array_combine() 將值和鍵組合成新的陣列。利用映射函數 array_map() 和 array_column() 轉換陣列結構並重新組合。效能比較顯示,array_flip() 函數在小數組中最快,而自訂函數和映射函數在數組規模較大時更具優勢。
PHP 陣列鍵值顛倒:高效能方案探究
陣列鍵值顛倒,即交換陣列中的鍵與值,在PHP 中是一項常見的操作。本文將探討幾種高效率的解決方案,並透過實際案例進行示範。
方法1:array_flip() 函數
$array = ['name' => 'John Doe', 'age' => 30]; $flipped_array = array_flip($array); print_r($flipped_array);
輸出:
Array ( [John Doe] => name [30] => age )
方法2:自訂函數
#function flip_array($array) { return array_combine(array_values($array), array_keys($array)); } $array = ['name' => 'John Doe', 'age' => 30]; $flipped_array = flip_array($array); print_r($flipped_array);
輸出:
Array ( [John Doe] => name [30] => age )
方法3:映射函數
$array = ['name' => 'John Doe', 'age' => 30]; $flipped_array = array_map(function($key, $value) { return [$value, $key]; }, array_keys($array), array_values($array)); $flipped_array = array_combine(array_column($flipped_array, 0), array_column($flipped_array, 1)); print_r($flipped_array);
輸出:
Array ( [John Doe] => name [30] => age )
效能比較
#在陣列規模較小時,array_flip() 函數最快。對於較大的數組,自訂函數和映射函數具有更好的效能。
實戰案例
陣列鍵值顛倒可在各種場景中使用,例如:
以上是PHP 陣列鍵值顛倒:高效能方案探究的詳細內容。更多資訊請關注PHP中文網其他相關文章!