par
Spols » 30 janv. 2015, 11:01
Qu'arrive t il si tu as 6 niveaux ? je pense que ce cas est éludé par ton code.
le plus logique est qu'il manque un ! à la ligne
if (isset($tableauNiveau[7])) {
Si je suppose que c'est le cas et que tu ne veut pas te limité à 6 niveaux :
Moi je prendrais le tableau dans l'autre sens et j'ajouterait un (double) niveau à chaque itération
$donnees = array('childCategorie' => array($donneesAjout));
for ($i=sizeof($tableauNiveau)-;$i>=0;$i--) {//Je retire 2 à la taille du tableau pour arriver à l'avant dernier item. Si je comprends bien ton code, un -1 devrait mieux convenir.
$donnees = array('childCategorie' => array($tableauNiveau[$i] => $donnees));
}
Code non testé, mais il devrait te mettre sur la voie.
une autre solution pourrait être avec des fonction récursive (qui s'appelle elle même)
Qu'arrive t il si tu as 6 niveaux ? je pense que ce cas est éludé par ton code.
le plus logique est qu'il manque un ! à la ligne
[php]if (isset($tableauNiveau[7])) {[/php]
Si je suppose que c'est le cas et que tu ne veut pas te limité à 6 niveaux :
Moi je prendrais le tableau dans l'autre sens et j'ajouterait un (double) niveau à chaque itération
[php]
$donnees = array('childCategorie' => array($donneesAjout));
for ($i=sizeof($tableauNiveau)-;$i>=0;$i--) {//Je retire 2 à la taille du tableau pour arriver à l'avant dernier item. Si je comprends bien ton code, un -1 devrait mieux convenir.
$donnees = array('childCategorie' => array($tableauNiveau[$i] => $donnees));
}[/php]
Code non testé, mais il devrait te mettre sur la voie.
une autre solution pourrait être avec des fonction récursive (qui s'appelle elle même)