2013-06-03 39 views
0

我有一個數組:數組函數用於創建具有值的新數組作爲鍵?

$ids = array(1 => '3010', 2 => '10485', 3 => '5291'); 

我想創建一個新的數組,它會從$ ids數組的值,並將它們設置爲一個新數組的鍵,具有相同的值。

最終陣列將是:

$final = array('3010' => 'Green', '10485' => 'Green', '5291' => 'Green'); 

這將在apc_add()中使用。

我知道我可以通過循環來完成它。

$final = array(); 

foreach($ids as $key => $value): 
    $final[$value] = 'Green'; 
endforeach; 

但我想知道是否有PHP功能,而不必使用forloop,謝謝!

+0

是'array_fill'可能會奏效? –

回答

5

您正在尋找array_fill_keys

$final = array_fill_keys($ids, "Green"); 

然而,要知道,字符串,是整數的十進制表示作爲數組鍵一起使用時實際上轉換爲整數。這意味着在您的示例中,最終成爲$final中的鍵的數字將被轉換爲整數。在實踐中很可能不會有所作爲,但您應該瞭解它。

+4

'+ 1'好吧,那很快! :) –

+0

感謝您對小數點的提示。 – Brad

3

你可以用array_fill_keys做到這樣:

$final = array_fill_keys($ids, "Green"); 
相關問題