在PHP 中, array_combine()函數可以用來將兩個數組結合成一個關聯數組。這個函數接受兩個參數,一個是數組的鍵(keys),另一個是數組的值(values)。但你知道嗎? array_combine()也可以用來實現數組的鍵值翻轉,雖然它的常見用途並非如此。
array_combine()函數的語法如下:
array_combine(array $keys, array $values) : array
$keys :用於創建新數組鍵的數組。
$values :用於創建新數組值的數組。
該函數返回一個由兩個數組組合而成的關聯數組。
翻轉數組的鍵和值,實際上是將原來的數組的“值”作為新數組的“鍵”,而將原來的“鍵”作為新數組的“值”。我們可以通過提取原數組的“鍵”和“值”,並使用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);
?>
獲取鍵和值:
使用array_keys($array)獲取原數組中的所有鍵。
使用array_values($array)獲取原數組中的所有值。
翻轉鍵值:
使用array_combine()函數將原數組的“值”作為新數組的“鍵”,將原數組的“鍵”作為新數組的“值”。
輸出結果:
使用print_r($flippedArray)輸出翻轉後的數組。
使用array_combine()時,兩個數組的長度必須相等。如果鍵和值數組的長度不相等,PHP 會返回一個false 。
如果原數組中的值有重複,翻轉後的數組會丟失重複的值,因為數組的鍵是唯一的。
通過PHP 的array_combine()函數,我們可以輕鬆地實現數組的鍵值翻轉。只需要提取原數組的鍵和值,再通過array_combine()函數組合成新的數組。這個方法簡潔、高效,適用於需要反轉數組鍵值的場景。
希望這篇文章能幫助你理解如何利用PHP 中的array_combine()函數實現數組鍵值翻轉。如果你有任何問題或進一步的需求,請隨時聯繫我。