2011-05-30 42 views
131

鍵我有此數組:陣列中的值複製到PHP

$a = array('b', 'c', 'd'); 

有沒有給數組轉換爲以下一個簡單的方法是什麼?

$a = array('b' => 'b', 'c' => 'c', 'd' => 'd'); 

回答

0

要小心,與$a = array_combine($a, $a);提出的解決方案不會爲數值工作:如果換算喜歡重複鍵
array('one','two','one')可能會有問題。

我例如希望有一個存儲器array(128,256,512,1024,2048,4096,8192,16384)是鍵以及值但是PHP手冊指出:

如果輸入陣列具有相同的字符串鍵,則該鍵後值將覆蓋前一個。但是,如果數組包含數字鍵,則後面的值不會覆蓋原始值,但會被追加。

所以我解決了它這樣的:

foreach($array as $key => $val) { 
    $new_array[$val]=$val; 
} 
+2

以上是不正確 - 你的報價來自於文檔'array_merge'而不是'array_combine';我甚至用'array_combine'和後一個值來測試它,即使在數字鍵列中_always_覆蓋了前一個。 – Brett 2017-04-02 20:13:47