Salut,
j'avais le même problème.
En gros j'avais en entrée un tableau de la forme (avec des values différentes et en nombre différents):
$tab = array(0 => "rep1", 1 => "sous-rep", 2 => "sous-sous-rep");
Et je voulais en sortie un tableau du type :
1 2
|
array('rep1' => array('sous-rep' => array('sous-sous-rep'=> array()))); |
Voila ma solution :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
$koko = array(0 => 'rep1', 1 => 'album1', 2=> 'album2');
$nb_cases = count($koko);
$ancien_var = "";
for($i = ($nb_cases-1) ; $i>=0; $i--)
{
$j = $i;
$nom_var = 'elt'.$j;
if($i == ($nb_cases-1))
{
$$nom_var = array($koko[$i] => array());
}
else
{
$$nom_var = array($koko[$i] => $ancien_var);
}
$ancien_var = $$nom_var;
}
$test = $$nom_var; |
En fait pour faire simple l'idée est la suivante :
1 2 3 4
|
$c2 = array("yo" => 'pouet');
$c1 = array("blabla" => $c2);
$c0 = array($c1); |
Partager