Jump to content
Sign in to follow this  
sandrinoo

Difference entre 2 tableaux

Rate this topic

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...

Share this post


Link to post
Share on other 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


Share this post


Link to post
Share on other 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 !

Share this post


Link to post
Share on other 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);
  • Upvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...