Comparaison de deux arrays
Résolu
wifsimster
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
wifsimster Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
wifsimster Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici mon problème je récupère deux arrays que je voudrais comparer :
Seulement pas trop d'idée ce matin =/
Voici mon problème je récupère deux arrays que je voudrais comparer :
// On récupert tous les lieux existant dans la base de données $sql = 'SELECT nom FROM categories '; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); while ($line = mysql_fetch_array($req, MYSQL_ASSOC)) { foreach ($line as $valeur) { $categories[] = $valeur; } } // On récupert ensuite les lieux rentrés dans l'agenda $sql = 'SELECT lieu FROM agenda '; $reque = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); while ($line = mysql_fetch_array($reque, MYSQL_ASSOC)) { foreach ($line as $valeur) { $lieux[] = $valeur; } }
Seulement pas trop d'idée ce matin =/
A voir également:
- Comparaison de deux arrays
- Comparaison million milliard - Accueil - Technologies
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
- Deux whatsapp sur un téléphone - Guide
2 réponses
Bonjour.
En fait, ça dépend un peu de ce que tu veux faire...
Il y a la fonction array_diff(array1, array2), qui retourne un tableau avec les valeurs de array1 qui ne sont pas dans array2.
Au contraire, array_intersect(array1, array2) renvoie les valeurs de array1 qui sont aussi dans array2.
Sinon, il y a une solution "bidouille" :
Dans ta première boucle, tu en profites pour alimenter une chaîne de caractères :
Et dans la deuxième boucle, tu regardes si $valeur est dans ta chaîne...
En fait, ça dépend un peu de ce que tu veux faire...
Il y a la fonction array_diff(array1, array2), qui retourne un tableau avec les valeurs de array1 qui ne sont pas dans array2.
Au contraire, array_intersect(array1, array2) renvoie les valeurs de array1 qui sont aussi dans array2.
Sinon, il y a une solution "bidouille" :
Dans ta première boucle, tu en profites pour alimenter une chaîne de caractères :
$compare = ""; foreach ($line as $valeur) { $categories[] = $valeur; $compare .= $valeur."|"; }
Et dans la deuxième boucle, tu regardes si $valeur est dans ta chaîne...
foreach ($line as $valeur) { $lieux[] = $valeur; if (strpos($compare, $valeur."|") ) { <ce que tu as à faire> } }