occurence entre deux tableaux

Par med001, il y a 9 ans


Salut, je crée code pour faire met les occurence de deux tableaus en autre tableaux mais le probléme que je trouve que les autres cases des ces deux tableaux je trouve pas une solution pour met en l'autre tableau
voila code :

<?php $a = array('m','o','p','f'); $b = array('o','p','m','d'); $e = [];$h = []; $i=0;$j=0;$s=0; foreach ($a as $v) foreach ($b as $va) { { if ($v == $va ) { $e[$i] = $v; $i++; } else $h[$j] = $v; $j++; } } echo '<pre>'; print_r($e); print_r($h); echo '</pre>';

voilà un exemple :
j'ai ses tableaux:

$a = array('m','o','p','f'); $b = array('o','p','m','d');

comment trouvée la troixiéme tableau est :
$e= array('m','o','p','f','d');

comment faire cà et merci d'avance

4 réponses

Carouge10, il y a 9 ans

Bonjour,
la fonction array_merge devrait vous aidez.

med001, il y a 9 ans

@Carouge mais comment on ajoute les cases qui ne sont pas identiques !!

Carouge10, il y a 9 ans

Je cite "array_merge() rassemble les éléments d'un ou de plusieurs tableaux en ajoutant les valeurs de l'un à la fin de l'autre. Le résultat est un tableau.
Si les tableaux d'entrées ont des clés en commun, alors, la valeur finale pour cette clé écrasera la précédente. Cependant, si les tableaux contiennent des clés numériques, la valeur finale n'écrasera pas la valeur originale, mais sera ajoutée."

eltharin, il y a 9 ans

Bonjour,
Sinon tu as les fonctions array_intersect et array_diff qui feront automatiquement tes tableaux de croisements et valeurs uniques,
Soit un merge des deux : array_merge(array_intersect($a,$b),array_diff($a,$b),array_diff($b,$a))
Soit array_unique(array_merge($a,$b)) mais qui ne marche pas si tu as deux fois la même valeur dans un des deux tableaux