Fonction recursive
sheist
-
sheist -
sheist -
Bonjour,
je souhaiterais créer une arborescence à partir d"un array dont voici la forme :
j'ai donc créer cette fonction récursive:
mais çà ne fonctionne pas ... je vois pas pourquoi, je cherche depuis des heures et je ne vois pas ce qui cloche
coici le résultat que çà me renvoie :
Vous auriez une idée svp ?
Merci
je souhaiterais créer une arborescence à partir d"un array dont voici la forme :
Array (
[medias] => Array (
[document] => Array (
[pdf] => Array (
)
[txt] => Array (
)
)
[image] => Array (
[medium] => Array (
)
[small] => Array (
)
[tmp] => Array (
)
)
)
)
j'ai donc créer cette fonction récursive:
function node($node = array(), $parent = '') {
$tmp = '';
if(!empty($node)){
$name = key($node);
$path = $parent ? $parent.'/'.$name : $name;
$tmp .= '
<div class="folder" >
<a href="?f='.$path.'"></a>
<div class="content">';
foreach($node as $child){
$tmp.= $this->node($child, $path);
}
$tmp .= '
</div>
</div>';
}
return $tmp;
}
mais çà ne fonctionne pas ... je vois pas pourquoi, je cherche depuis des heures et je ne vois pas ce qui cloche
coici le résultat que çà me renvoie :
medias
document
  medium
Vous auriez une idée svp ?
Merci
A voir également:
- Fonction recursive
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
1 réponse
Salut,
Voici une solution possible :
Bonne journée
Voici une solution possible :
function node($node = array(), $parent = '') { $tmp = ''; foreach($node as $name => $element) { $path = $parent ? $parent . '/' . $name : $name; $tmp .= ' <div class="folder"> <a href="?f='.$path.'"></a> <div class="content">'; $tmp .= node($element, $path); $tmp .= ' </div> </div>'; } return $tmp; }
Bonne journée
ton exemple fonctionne parfaitement
Bonne soirée