2012-04-11 12 views
2

Gibt es eine eingebaute Funktion in PHP, die ein Element einem Array voranstellt und das neue Array zurückgibt?Array_unshift like Funktion, die das Array zurückgibt

anstatt die neue Länge des Arrays zurückzugeben?

+1

Was ist falsch bei der Verwendung von Array-Variablen, die immer noch an 'array_unshift' übergeben? –

+0

Array-Verschiebung verschiebt das ursprüngliche Array und gibt dann die Größe zurück. Sie können später eine 'print_r ($ var_arr)' verwenden, um das Array zu erhalten. – hjpotter92

+0

@TheJumpingFrog nein, 'print_r' ist nicht für" Array bekommen ", es ist zum Drucken –

Antwort

3

Sie

array_merge() 

Zum Beispiel

$resultingArray = array_merge(array($newElement), $originalArray); 
2

Es gibt keine integrierten, in der es tut, aber es ist einfach genug, um es zu wickeln:

function my_unshift($array, $var) { 
    array_unshift($array, $var); 
    return $array; 
} 

Dieses wenn auch nicht notwendig ist, weil array_unshift() auf einer Array Referenz arbeitet so das Original an Ort und Stelle geändert wird. array_push(), array_pop(), array_shift() alle arbeiten auch auf einer a-referenz.

$arr = array(1,2,3); 
array_unshift($arr, 0); 

// No need for return. $arr has been modified  
print_arr($arr); 
Array 
(
    [0] => 0 
    [1] => 1 
    [2] => 2 
    [3] => 3 
) 
3

Neben array_merge nutzen könnten, wenn es keine doppelten Schlüssel ist, können Sie tun:

$array = array('a' => 'A'); 
$append = array('b' => 'hello'); 
$array = $append + $array; 

Gibt:

Array 
(
    [b] => hello 
    [a] => A 
) 

Das Plus ist die array union operator­Docs.

Verwandte Themen