Probléme de tableau !

Eléphanteau du PHP | 17 Messages

18 juil. 2021, 19:13

Bonjour à tous je voulais savoir, serait-il possible de vérifier les doublons mais de clé/valeur et valeur/cle CAD voici un exemple.
$tab1 = ["a" => "b"];
$tab2 = ["b" => "a"];
$tab3 = ["c" => "d"]; // pr le fun
En gros ma question : es ce que je peux d'une façon ou d'une autre surprimer $tab2 car a=>b existe déjà ( peu importe le sens ) sans passer par un array_flip car j'ai plusieurs tableaux du coup pas terrible.
Merci pr vos réponses !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9029 Messages

19 juil. 2021, 10:25

foreach() pour parcourir ton tableau à vérifier et à l'intérieur, pour chaque élément tu fais un in_array() et un array_key_exists()
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 17 Messages

20 juil. 2021, 21:17

Dsl je me suis mal expliqué dans mon exemple car c'est plutôt ça le code
$tab = array("0" => ["a" => "b"], "1" => ["b" => "a"], "2" =>[ "c" => "d"], etc ...);
Donc c'est plus compliqué que de faire de simple in_array !
Mais avec du calme et de la patience j'y suis arrivé !

C'est trop compliqué à expliqué mais je vais essayé j'ai remarqué que les doubles "b => a" car "a" => "b" existe déjà, se situé à la fin Longueur du tab de base (8) dans mon cas l'index des doubles étaient 8 puis 16,17 puis 24,25,26 puis 32,33,34,35 etc jusque 72.

Ensuite j'ai juste bouclé tout ça pour sortir un tableau avec les cle 8,16,17 etc

Ensuite un array_flip pour inverse clé valeur pour pouvoir comparer les clés dans les deux tab.

Ensuite avec un array_diff_key et j'ai eu mon tableau sans double !

PS : Aprés si quelqu'un à une méthode plus simple ou optimisé je suis preneur !