Array merge et valeur non copié

Petit nouveau ! | 5 Messages

30 sept. 2009, 15:49

Bonjour,
Je souhaiterai effectuer un merge sur des tableau comportant parfois des array en valeur, mais array_merge ne semble pas fonctionner lorsque les valeur sont eux meme des array.
Un exemple:
$ar1 = array("color" => array("favorite" => "red", "uti1"=>array("pref1"=>"rouge claire","pref2"=>"rouge fonce")), 5); 	
$ar2 = array(10, "color" => array("favorite" => "green", "blue","uti1=2"=>"vert"));  
$result = array_merge($ar1, $ar2); 
print_r($result); 
renvoi

Code : Tout sélectionner

Array ( [color] => Array ( [favorite] => green [0] => blue [uti1=2] => vert ) [0] => 5 [1] => 10 )
Le cle [util1], qui a un array pour valeur, n'est plus presente apres le merge, or elle n'est pas specifier dans le second arguement de array_merge, elle devrait etre conserver si j'ai bien compris ce que fait array_merge

Une idée pour contourner cette limitation?

Merci

ViPHP
ViPHP | 2287 Messages

30 sept. 2009, 18:02

Une idée :

http://fr.php.net/manual/fr/function.ar ... ursive.php

trouvée depuis la page de manuel de array_merge, tout simplement :wink:
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Petit nouveau ! | 5 Messages

30 sept. 2009, 19:23

Hello,
Merci pour la reponse.
En fait j avais mal compris d apres la doc ce serait normal lorsque la clef est associative la valeur est simplement remplacer, si c'est un array la reccursion ne s applique pas.
J'ai trouver une autre solution pour mon pb