Fonction Recursive pour arborescence... 
 De Alexandre Andrieu - Lundi 20 Août 2001 à 12:22

Effectivement c'est une excelente technique qui permet de construire toutes sortes de arborescences, de classement ou encore hirarchisation de données...
un exemple d'utilisation pour classer des catégorie de sites se trouve sur http://www.icyam.net Le Script est en téléchargement libre et fonctionne avec deux tables de données MySQL...

  optimisation 
 De Anger Noname - Jeudi 27 Juin 2002 à 16:11

je propose une optimisation de ce script, bien sur on peut faire plus poussé mais pour la même utilisation ça sera plus rapide

et hop livré avec un exemple :
<?
$data[0] = array(-1,'root');
$data[1] = array(0,"liste écrans");
$data[2] = array(1,"Gamme 2000");
$data[3] = array(2,"2005");
$data[4] = array(2,"2015");
$data[5] = array(1,'Gamme 3000');
$data[6] = array(5,'3005');
$data[7] = array(5,'3015');


function recur($array,$parent,$rang) {
for ($c=0;$c<count($array);$c++) {
if ($array[$c][0]==$parent) {
$spacer= str_repeat(" ",$rang);//mettre l'espaceur que vous voulez
echo "${spacer}{$array[$c][1]}\n";
recur($array,$c,$rang+1);
}
}
}

recur($data,0,0);
?>

on remarque que le sous tableau $data[N] ne contient plus que deux valeurs et que l'espacement ne nécessite plus l'appel à une fonction extérieure