PHP 陣列鍵值顛倒:高效能方案探究

王林
發布: 2024-05-01 15:00:03
原創
962 人瀏覽過

陣列鍵值顛倒在 PHP 中可透過多種高效方法實作:使用 array_flip() 函數,直接交換鍵和值。編寫自訂函數,使用 array_combine() 將值和鍵組合成新的陣列。利用映射函數 array_map() 和 array_column() 轉換陣列結構並重新組合。效能比較顯示,array_flip() 函數在小數組中最快,而自訂函數和映射函數在數組規模較大時更具優勢。

PHP 数组键值颠倒:高效方案探究

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() 函數最快。對於較大的數組,自訂函數和映射函數具有更好的效能。

實戰案例

陣列鍵值顛倒可在各種場景中使用,例如:

  • 從使用者ID 到使用者名稱的映射
  • 從國家代碼到國家名稱的映射
  • 建立反向索引以提高搜尋速度

以上是PHP 陣列鍵值顛倒:高效能方案探究的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!