Comparaison de deux arrays
Résolu
wifsimster
Messages postés
20
Statut
Membre
-
wifsimster Messages postés 20 Statut Membre -
wifsimster Messages postés 20 Statut Membre -
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>
}
}