2011-07-27 12 views
11

我有像數組:如何交換鍵與數組中的值?

array(
    0 => 'a', 
    1 => 'b', 
    2 => 'c' 
); 

我需要將其轉換爲:

array(
    'a', 
    'b', 
    'c' 
); 

什麼是交換密鑰與值最快的方法?

+1

array_flip也許?它完全符合你所說的**,而不是你想要的(因爲你想要的不是真正有意義的)。 –

+1

使用[array_flip](http://blog.jterminal.com/2014/07/use-php-array_flip-function-to-exchange-keys-and-associated-values-in-an-array.html)交換帶有值的鍵。 – Jasir

回答

22

PHP有array_flip功能,但在你的情況

你不需要它了同樣的事情

array(
    'a', 
    'b', 
    'c' 
); 

這個數組有鍵,如0,1,2

4

使用array_flip()。這將做到交換鍵與值。但是,你的數組是可以的。也就是說,你不需要來交換他們,因爲那麼你的陣列將變爲:

array(
    'a' => 0, 
    'b' => 1, 
    'c' => 2 
); 

array(
    'a', 
    'b', 
    'c' 
); 
+0

重新閱讀本手冊,因爲它不會做你認爲它的作用。 http://www.php.net/manual/en/function.array-reverse.php – Treffynnon

+0

編輯註明。投票糾正。 :-) – Treffynnon

3
array(
    0 => 'a', 
    1 => 'b', 
    2 => 'c' 
); 

array(
    'a', 
    'b', 
    'c' 
); 

是相同的陣列,所述第二形式具有0,1,2爲隱式的鍵。如果您的數組沒有數字鍵,則可以使用array_values函數來獲取僅具有值的數組(使用數字隱式鍵)。

否則,如果您需要將值與交換鍵array_flip是解決方案,但從您的示例中不清楚您要做什麼。