2011-06-10 67 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

相关问题