2011-06-10 144 views
0

我正在尋找將所有元素的所有數組的鍵更改爲一個鍵的方法。最簡單的方法來更改所有數組的鍵?

array(4) (
    "a" => string(4) "foo1" 
    "b" => string(4) "foo2" 
    "c" => string(4) "foo3" 
    "d" => string(4) "foo4" 
) 

...到:

array(4) (
    "a" => string(4) "foo1" 
    "a" => string(4) "foo2" 
    "a" => string(4) "foo3" 
    "a" => string(4) "foo4" 
) 

我寧願代碼沒有任何循環。

+7

在同一個數組中不能有兩個相同的鍵。你會如何區分他們? – 2011-06-10 09:21:02

+0

+1,您只需要數組的相反行爲,其數組由唯一鍵標識。 – Benjamin 2011-06-10 09:22:26

+0

我完全失敗了。沒有想到這一點。 – daGrevis 2011-06-10 09:27:52

回答

5
array(4) (
    "a" => string(4) "foo1" 
    "a" => string(4) "foo2" 
    "a" => string(4) "foo3" 
    "a" => string(4) "foo4" 
) 

這在PHP中不可行。數組不能有多個具有相同名稱的密鑰。

但是你可以做

$array2['a'] = array_values($array);

1

如佩卡在評論說:

你不能在 同一陣列中兩個相同的密鑰。你會如何區分 ?

+3

很懶惰的答案。 – 2011-06-10 09:24:51

+0

@Tatu對不起......後來才發現我可以提供其他方式來做到這一點。 Gaurav的答案好多了,它有我的投票! – SteeveDroz 2011-06-10 09:26:29

相關問題