[RESOLU] array_merge dans un for

Avatar du membre
Mammouth du PHP | 1564 Messages

20 nov. 2013, 22:11

Bonjour,

je cherche à faire un array global en regroupant tous mes array avec array_merge, jusqu'ici, tout va bien mais j'aimerai pourvoir comme ceci (ou similaire, c'est une idée):
$ar['cat1'] = array("abc.net","abc.org","abc.com");
$ar['cat2'] = array("abc.vb","abc.dr","abc.se");
for($i=1;$i<=count($ar);$i++) {
	$ar .= array_merge($ar['cat'.$i]);
}
print_r($ar);
au lieu de faire comme cela (ajouter $ar['cat1'],$ar['cat2'], etc...):
$ar['cat1'] = array("abc.net","abc.org","abc.com");
$ar['cat2'] = array("abc.vb","abc.dr","abc.se");
$ar = array_merge($ar['cat1'],$ar['cat2']);
print_r($ar);

ViPHP
xTG
ViPHP | 7331 Messages

21 nov. 2013, 08:34

Je penserai à un algo du genre :
$ar['cat1'] = array("abc.net","abc.org","abc.com");
$ar['cat2'] = array("abc.vb","abc.dr","abc.se");
$final = array();
for($i=1;$i<=count($ar);$i+=2) {
        $final = array_merge($ar['cat'.$i], $ar['cat'.($i + 1)]);
}
print_r($final);

Avatar du membre
Mammouth du PHP | 1564 Messages

21 nov. 2013, 10:18

Merci, j'ai finalement fait autrement en intégrant mes 'cat1' et 'cat2' dans un seul array:
$ar = array("cat1" => array("val1","val2","etc"),"cat2" => array("val1","val2","etc"));
Nettement plus simple pour ce que je souhaité faire (une page de 190 lignes de codes en... toute la nuit ^^)

PS; je viens d'essayer ta fonction et elle ne fonctionne pas quand il y a 1 seule cat ou quand il y en plusieurs, c'est assez compliqué à vrai dire mon problème, il y a peut être une fonction propre à PHP qui existe déjà? je sais pas... En tout cas j'ai trouvé une solution!

ViPHP
xTG
ViPHP | 7331 Messages

21 nov. 2013, 14:17

Moi ce que je ne comprends pas c'est que la solution que tu as fini par prendre correspond exactement à ton problème de départ. :|
$ar = array("cat1" => array("val1","val2","etc"),"cat2" => array("val1","val2","etc"));
est équivalent à
$ar['cat1'] = array("abc.net","abc.org","abc.com");
$ar['cat2'] = array("abc.vb","abc.dr","abc.se");

Avatar du membre
Mammouth du PHP | 1564 Messages

21 nov. 2013, 16:40

et bien j'ai pas besoin de n’embêter avec array_merge au moins, mes array sont déjà dans un seul array :wink: