2013-03-13 32 views
7

我試圖插入一個數組作爲第一個元素的多維數組。我原來陣列的例子array_unshift爲多維數組

Array (
    0 => array ("point1.0" => "some data", "point2.0" => "some data") 
    1 => array ("point1.1" => "some data", "point2.1" => "some data") 
) 

然後,我有,我想插入作爲第一要素

$newArray = array("point1.2" => "some data", "point2.2" => "some data") 

我的結果數組應該是

Array (
    0 => array ("point1.2" => "some data", "point2.2" => "some data") 
    1 => array ("point1.0" => "some data", "point2.0" => "some data") 
    2 => array ("point1.1" => "some data", "point2.1" => "some data") 
) 

array_unshift似乎無法在這個案例。有沒有比創建一個新數組和通過foreach循環插入每個子數組更好的解決方案?

+2

我不明白爲什麼它不應該工作。顯示你的代碼。 – Havenard 2013-03-13 23:51:25

回答

11

array_unshift應該爲你工作。應該注意的是該函數修改傳遞給它的數組,並且不返回一個新數組,所以您應該將返回值分配回數組變量。

正確:

array_unshift($arr, $newArray); 

錯誤:

$arr = array_unshift($arr, $newArray); 
+0

謝謝,我確實將返回值分配給一個新變量 – Marco 2013-03-14 00:03:13