sandrinoo Posté 26 Novembre 2019 Partager Posté 26 Novembre 2019 Bonsoir à vous tous, j'ai un tableau de ce type : $tab = [['maison/ verte','petite'],['chateau/ rouge','grand']]; et je voudrais de la manière la plus simple possible exploder en 2 éléments maison et vert, puis chateau et rouge, pour qu'à la fin un print_r($tab) me donne ceci : Array ( [0] => Array ( [0] => maison [1] => verte [2] => petite ) [1] => Array ( [0] => chateau [1] => rouge [2] => grand )) j'ai bien commencé à bricoler un truc avec ce genre de code mais ça ne fonctionnait pas : foreach ($tab as $tabnb => $n){ $split= explode("/ ",$n['1']); } Quelqu'un pourrait m'aider à finir svp ? Merci d'avance... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 29 Novembre 2019 Partager Posté 29 Novembre 2019 Ce n'est pas très compliqué, mais j'avais loupé ton post <?php $tab = [['maison/ verte','petite'],['chateau/ rouge','grand']]; $resultat[]=array(); foreach ($tab as $tabnb => $n){ $split= explode("/ ",$n['0']); array_push($split,$n['1']); array_push($resultat,$split); } array_splice($resultat,0,1); print_r($resultat); ?> Donne ceci à l'exécution : Array ( [0] => Array ( [0] => maison [1] => verte [2] => petite ) [1] => Array ( [0] => chateau [1] => rouge [2] => grand ) ) Pas certain de mon approche, ça fait un bon moment que je n'ai plus codé en php ! Mais le résultat est là ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
sandrinoo Posté 3 Décembre 2019 Auteur Partager Posté 3 Décembre 2019 (modifié) Merci beaucoup Dan c'est exactement ça ! J'ai fait d'autres test pour raccourcir ton code dont celui-ci : $tab = [['maison, verte','petite'],['chateau, rouge','grand']]; foreach ($tab as $tabnb => $n){ $split= explode(", ",$n['0']); array_splice($tab,0,1,$split); print_r($tab); } mais bien sûr cela ne fonctionne pas et j'aurais voulu savoir pourquoi ? A cause de la multidimensionnalité des tableaux ? N'y a-t-il pas un moyen avec mon code ? Merci de me répondre si tu as le temps Dan, Modifié 3 Décembre 2019 par sandrinoo Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 3 Décembre 2019 Partager Posté 3 Décembre 2019 Il y a 4 heures, sandrinoo a dit : mais bien sûr cela ne fonctionne pas et j'aurais voulu savoir pourquoi ? Parce que tu appelles 2 fois la ligne array_splice sur $tab ! Tu raccourcis peut-être le code, mais en ajoutant une erreur de logique ! C'est pour éviter cela que j'utilise une array temporaire $resultat ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
sandrinoo Posté 3 Décembre 2019 Auteur Partager Posté 3 Décembre 2019 Oui d'accord j'ai compris Oui c'est évident ! Merci encore Dan d'être aussi patient et bonne soirée à toi ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant