2012-10-29 5 views
0
$stack = array(
    'name'   => 'some data', 
    'caption'  => 'some data', 
    'published'  => 'some data', 
    'updated_at'  => 'some data', 
    'updated_by'  => 'some data' 
); 

$data = array('album_id' => 'someID'); 

Comment insérer le tableau de données dans le tableau de pile? Mise à jour: J'ai essayé array_unshift mais il a inséré le tableau $ data dans une seconde dimension dans le multi mais je le veux au même niveau que les autres.Insertion d'un tableau multidimensionnel dans un autre tableau multidimensionnel

aussi, une question

si j'ai un autre tableau comme les données et je veux l'insérer dans la 3ème position comment pourrais-je faire cela?

+0

Ce sont des tableaux unidimensionnels, pas de tableaux multidimensionnels . Ce sont également des hachages, qui ne contiennent pas de clés indexées numériquement, mais plutôt des clés nommées. Donc, vous ne pouvez pas l'insérer dans une position spécifiée, car ils n'ont pas vraiment de position. Vous pouvez utiliser array_slice pour cela. array_merge est la façon dont vous les combinez dans un seul tableau. Le premier tableau que vous spécifiez dans array_merge est la base, et tous les autres tableaux transmis à array_merge après cela seront ajoutés à la fin. Vous devez affecter le résultat de array_merge à une nouvelle variable. Regardez-le sur php.net pour plus d'informations. – davesters81

Répondre

3

Essayez

$stack = $stack + $data; 

Ou

$stack =array_merge($stack, $data); 

Si vous souhaitez ajouter $data à la 3ème position dans $stack

$chunks = array_chunk($stack, 2, true); 
$stack = array_shift($chunks); 
$stack += $data; 
foreach ($chunks as $chunk) { $stack += $chunk; } 
+0

qui m'a donné 6 pour une raison quelconque. la valeur 6, j'ai essayé array_unshift à la place et ai obtenu 6. array_merge juste montré le tableau. –

Questions connexes