Comparer deux array
Fermé
iTonton
Messages postés
5
Date d'inscription
lundi 15 septembre 2014
Statut
Membre
Dernière intervention
16 septembre 2014
-
15 sept. 2014 à 21:16
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 - 17 sept. 2014 à 00:11
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 - 17 sept. 2014 à 00:11
A voir également:
- Array_diff
- Deux comptes whatsapp - Guide
- Deux caractères manquent dans cette url ✓ - Forum Programmation
- Comparer deux colonnes excel ✓ - Forum Excel
- Deux ecran pc - Guide
- Fusionner deux pdf - Guide
3 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
546
16 sept. 2014 à 14:05
16 sept. 2014 à 14:05
Salut,
Encore plus simple avec la fonction array_diff https://www.php.net/manual/fr/function.array-diff.php :
Bonne journée
Encore plus simple avec la fonction array_diff https://www.php.net/manual/fr/function.array-diff.php :
$a = array(1, 2, 3, 4, 5, 6, 7, 8, 9); $b = array(1, 4, 7, 8, 9); $c = array_diff($a, $b); var_dump($c); // array(2, 3, 5, 6)
Bonne journée
Bsr,
une petite piste et donc forcement un petit peu de lecture : )
https://www.php.net/manual/fr/function.in-array.php
Cdt
une petite piste et donc forcement un petit peu de lecture : )
https://www.php.net/manual/fr/function.in-array.php
Cdt
iTonton
Messages postés
5
Date d'inscription
lundi 15 septembre 2014
Statut
Membre
Dernière intervention
16 septembre 2014
16 sept. 2014 à 10:09
16 sept. 2014 à 10:09
Merci beaucoup je vais voir ce que je peux faire comme script avec, ça mais déjà ça m'a l'air prometteur ! :)
CptRomaiin
Messages postés
315
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
58
Modifié par CptRomaiin le 16/09/2014 à 00:48
Modifié par CptRomaiin le 16/09/2014 à 00:48
Salut,
Tu peux tout simplement imbriquer deux foreach :
Dans cette exemple, le résultat sera le suivant :
Par contre cela ne fonctionnera que dans un sens. Ce script vérifie que certaines données présentes dans le tableau 1 sont absentes du tableau 2 mais pas l'inverse. Si c'est ce que tu veux il faudra modifier le code.
Tu peux tout simplement imbriquer deux foreach :
$Array1 = array(1,2,3,4,5,6,7,8,9);
$Array2 = array(1,4,7,8,9);
$Array3 = array();
// Comparaison des valeurs
foreach ($Array1 as $val1) {
$present = false;
foreach ($Array2 as $val2) {
if ($val1 == $val2) { $present = true; }
}
if (!$present) {
array_push($Array3, $val1);
}
}
// Affichage des valeurs
foreach ($Array3 as $val3) {
echo $val3 . "\n";
}
Dans cette exemple, le résultat sera le suivant :
2
3
5
6
Par contre cela ne fonctionnera que dans un sens. Ce script vérifie que certaines données présentes dans le tableau 1 sont absentes du tableau 2 mais pas l'inverse. Si c'est ce que tu veux il faudra modifier le code.
iTonton
Messages postés
5
Date d'inscription
lundi 15 septembre 2014
Statut
Membre
Dernière intervention
16 septembre 2014
16 sept. 2014 à 18:37
16 sept. 2014 à 18:37
Merci CptRomaiin, ton code fonctionne à la perfection, et en plus il ressemble à ce que j'avais fait et qui ne marchait pas du coup, tu m'as donné un code et j'ai compris mes erreurs ! :)
CptRomaiin
Messages postés
315
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
58
17 sept. 2014 à 00:11
17 sept. 2014 à 00:11
De rien ;)