Aller au contenu
sandrinoo

Difference entre 2 tableaux

Noter ce sujet :

Recommended Posts

Et oui encore moi avec tous mes problèmes d'array...

J'ai 2 tableaux et j'aurais voulu les comparer pour sortir seulement les valeurs en plus du tableau $val1 (qui ne sont pas dans $val2).

Donc dans le cas ci-dessous les lignes avec les valeurs 111 et 222.

$val1 = array(
array(1, 'produit', 185),
array(2, 'produit', 425),
array(3, 'produit', 111)
array(4, 'produit', 222));

$val2 = array(
array(1, 'produit', 185),
array(2, 'produit', 425));

J'ai testé array_diff($val1, $val2); mais ca ne marche pas car je pense que mon tableau est multidimensionnel (??)

Je pense qu'il faut faire un code de ce type array_diff($val1[2], $val2[2], 'compare_fonct')); mais j'ai du mal avec la fonction, beaucoup trop compliqué pour moi ça...

Alors si on peut me donner un dernier coup de main pour ces histoires d'array pour finir ce week-end ça serait le bienvenu...

Partager ce message


Lien à poster
Partager sur d’autres sites

tu peut faire une condition if pour la première valeur du $val2 par toutes les valeurs de $val1 puis la 2ème valeur du $var2 avec toutes les valeurs de $val1...etc


Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,



Normalement un truc dans ce gout doit fonctionner :



$result = array();
foreach($val1 as $key => $value){
if(!in_array($value, $val2)){
$result[] = $value;
}
}


Tu auras la liste des éléments non trouvés dans $val2 dans le tableau $result;



A adapter certainement un peu mais l'esprit y est^^



Bon courage !

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Blackpage ton code fonctionne !



Par contre je fais une erreur quelquepart avec array_diff pour que ca fonctionne pas :



$val1 = array(
array(1, 'produit', 185),
array(2, 'produit', 425),
array(3, 'produit', 111),
array(4, 'produit', 222));

$val2 = array(
array(1, 'produit', 185),
array(2, 'produit', 425));

$result = array_diff($val1,$val2);

print_r($result);
  • Vote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×