Jump to content
sandrinoo

Spliter un élément d'un tableau multidimensionnel

Rate this topic

Recommended Posts

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

Share this post


Link to post
Share on other sites

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à !  ;)

 

Share this post


Link to post
Share on other sites

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,

Edited by sandrinoo

Share this post


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

 

 

Share this post


Link to post
Share on other sites

Oui d'accord j'ai compris 🧠

Oui c'est évident !

 

Merci encore Dan d'être aussi patient et bonne soirée à toi !

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

×
×
  • Create New...