2013-03-13 10 views
7

Ich versuche, ein Array in ein multidimensionales Array als das erste Element einzufügen. Beispiel meiner ursprünglichen Arrayarray_unshift für multidimensionale Arrays

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

Dann habe ich das Array, das ich als erstes Element soll

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

Und mein Ergebnis einfügen will seine

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 zum Scheitern verurteilt scheint in dieser Fall. Gibt es bessere Lösungen als ein neues Array zu erstellen und jedes Subarray durch eine foreach-Schleife einzufügen?

+2

Ich sehe nicht, warum es nicht funktioniert werden sollte. Zeigen Sie Ihren Code. – Havenard

Antwort

11

array_unshift sollte für Sie arbeiten. Es sollte beachtet werden, dass die Funktion das an sie übergebene Array ändert und kein neues Array zurückgibt. Daher sollten Sie nicht den Rückgabewert der Array-Variablen zuweisen.

Richtig:

array_unshift($arr, $newArray); 

Falsch:

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

Danke, ich habe den Rückgabewert tatsächlich einer neuen Variablen zugewiesen – Marco

Verwandte Themen