當前位置: 首頁> 最新文章列表> 用array_combine 實現鍵值翻轉

用array_combine 實現鍵值翻轉

M66 2025-05-12

在PHP 中, array_combine()函數可以用來將兩個數組結合成一個關聯數組。這個函數接受兩個參數,一個是數組的鍵(keys),另一個是數組的值(values)。但你知道嗎? array_combine()也可以用來實現數組的鍵值翻轉,雖然它的常見用途並非如此。

一、 array_combine()函數的基本用法

array_combine()函數的語法如下:

 array_combine(array $keys, array $values) : array
  • $keys :用於創建新數組鍵的數組。

  • $values :用於創建新數組值的數組。

該函數返回一個由兩個數組組合而成的關聯數組。

二、如何利用array_combine()進行鍵值翻轉?

翻轉數組的鍵和值,實際上是將原來的數組的“值”作為新數組的“鍵”,而將原來的“鍵”作為新數組的“值”。我們可以通過提取原數組的“鍵”和“值”,並使用array_combine()來完成這一操作。

假設我們有如下的一個數組:

 $array = [
    'apple' => 1,
    'banana' => 2,
    'orange' => 3
];

我們希望將該數組的鍵值進行翻轉,得到如下結果:

 $flippedArray = [
    1 => 'apple',
    2 => 'banana',
    3 => 'orange'
];

接下來,看看如何通過PHP 的array_combine()函數實現這個功能。

三、實現鍵值翻轉的代碼示例

<?php
$array = [
    'apple' => 1,
    'banana' => 2,
    'orange' => 3
];

// 獲取數組的鍵和值
$keys = array_keys($array);
$values = array_values($array);

// 使用 array_combine() 函數將鍵和值翻轉
$flippedArray = array_combine($values, $keys);

// 輸出翻轉後的數組
print_r($flippedArray);
?>

四、代碼解析

  1. 獲取鍵和值:

    • 使用array_keys($array)獲取原數組中的所有鍵。

    • 使用array_values($array)獲取原數組中的所有值。

  2. 翻轉鍵值:

    • 使用array_combine()函數將原數組的“值”作為新數組的“鍵”,將原數組的“鍵”作為新數組的“值”。

  3. 輸出結果:

    • 使用print_r($flippedArray)輸出翻轉後的數組。

五、注意事項

  • 使用array_combine()時,兩個數組的長度必須相等。如果鍵和值數組的長度不相等,PHP 會返回一個false

  • 如果原數組中的值有重複,翻轉後的數組會丟失重複的值,因為數組的鍵是唯一的。

六、總結

通過PHP 的array_combine()函數,我們可以輕鬆地實現數組的鍵值翻轉。只需要提取原數組的鍵和值,再通過array_combine()函數組合成新的數組。這個方法簡潔、高效,適用於需要反轉數組鍵值的場景。

希望這篇文章能幫助你理解如何利用PHP 中的array_combine()函數實現數組鍵值翻轉。如果你有任何問題或進一步的需求,請隨時聯繫我。