Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1606 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

   [Résolu] Problème de tableau multidimensionnel et associatif

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Problème de tableau multidimensionnel et associatif

n°2188340
webelix
Posté le 01-05-2013 à 13:28:41  profilanswer
 

Bonjour à tous,
 
Voila j'aimerais créer un tableau multidimensionnel et associatif à partir d'une chaine de caractères.
 
la chaine est sous cette forme :
1(S-10,M-20,L-20,XL-0,XXL-20)2(S-20,M-0,L-20,XL-20)6(S-30,M-1,L-20,XL-0,XXL-0)
 
et j'aimerais extraire les données de cette chaine dans un tableau qui devra être sous cette forme :
 

Citation :

array() {
  [1] => array() {
             [S]=> 10
             [M]=> 20
             [L]=> 20
             [XL]=> 0
             [XXL]=> 20
  },
  [2] => array() {
             [S]=> 20
             [M]=> 0
             [L]=> 20
             [XL]=> 20
  },
  [6] => array() {
             [S]=> 30
             [M]=> 1
             [L]=> 20
             [XL]=> 0
             [XXL]=> 0
  }
}


 
Merci d'avance pour vos réponses ...


Message édité par webelix le 01-05-2013 à 21:20:30
mood
Publicité
Posté le 01-05-2013 à 13:28:41  profilanswer
 

n°2188361
webelix
Posté le 01-05-2013 à 16:42:59  profilanswer
 

J'ai un début de réponse mais je bloque au dernier niveau.
Voici déjà ce que j'ai fait, si quelqu'un peu m'aider.
 

Citation :

$tab = "1(S-10,M-20,L-20,XL-0,XXL-20)2(S-20,M-0,L-20,XL-20)6(S-30,M-1,L-20,XL-0,XXL-0)";  
$tab = array_filter(explode(" )", $tab));
 
 for($t1 = 0; $t1 < sizeof($tab); $t1++) {
  $tab1[] = array_filter(explode("(", $tab[$t1]));
   
  for($t2 = 0; $t2 < sizeof($tab1[$t1]); $t2++) {
   $tab2[$tab[$t1][0]] = array_filter(explode(",", $tab1[$t1][$t2]));  
  }
 }


Ce qui donne le tableau $tab2

Citation :

Array
(
    [1] => Array
        (
            [0] => S-10
            [1] => M-20
            [2] => L-20
            [3] => XL-0
            [4] => XXL-20
        )
 
    [2] => Array
        (
            [0] => S-20
            [1] => M-0
            [2] => L-20
            [3] => XL-20
        )
 
    [6] => Array
        (
            [0] => S-30
            [1] => M-1
            [2] => L-20
            [3] => XL-0
            [4] => XXL-0
        )
 
)


n°2188383
winimalcav
la folie c'est la base
Posté le 01-05-2013 à 19:42:33  profilanswer
 

Salut a toi, moi je le ferais comme cela :

Citation :


$tab = "1(S-10,M-20,L-20,XL-0,XXL-20)2(S-20,M-0,L-20,XL-20)6(S-30,M-1,L-20,XL-0,XXL-0)";  
$tab = explode(" )", $tab);
 
$tableau_final = array();
 
foreach($tab as $v) {
 $tab_tmp_0 = explode("(", $v);
 if(isset($tab_tmp_0[1])) {
  $tab_tmp_1 = explode(",", $tab_tmp_0[1]);
  $array_tmp = array();
  foreach($tab_tmp_1 as $w) {
   $tab_tmp_2 = explode('-',$w);
   $array_tmp[$tab_tmp_2[0]]=$tab_tmp_2[1];
  }
  $tableau_final[$tab_tmp_0[0]] = $array_tmp;
 }
}
 
var_dump($tableau_final);


Message édité par winimalcav le 01-05-2013 à 19:46:57
n°2188387
webelix
Posté le 01-05-2013 à 20:47:04  profilanswer
 

Un grand merci pour ta solution !!!
 
J'étais pas loin de cette réponse pourtant ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

   [Résolu] Problème de tableau multidimensionnel et associatif

 

Sujets relatifs
Probleme redimensionnement balise <object> javascriptProblème python command destroy()
Problème sur une boucleProblème de variable
PROBLEME AVEC SE BATCHProblème upload
problème avec l'affichage de requette sqlproblème PDO --> exploitation des colonnes retournées
problème avec l'affichage de mas page phpProblème de script de compte à rebours + affichage lien
Plus de sujets relatifs à : [Résolu] Problème de tableau multidimensionnel et associatif


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR