Utiliser un tableau rempli dans une fonction récursive

Eléphanteau du PHP | 15 Messages

28 déc. 2006, 12:18

Bonjour,

Ma question certainement est simpliste mais mes recherches ne m'ont apporté aucune réponse :oops:

J'ai une fonction récursive qui parcourt un répertoire et ses sous répertoires : OK
Pour chaque image trouvée, je remplis un tableau : OK
Mais en dehors de cette fonction, et bien, mon tableau est vide...

Je pense qu'il y a une histoire de passage de valeur par référence, mais je ne vois pas comment faire avec mon tableau.

Merci d'avance.
function liste_albums($dir) {
	if ($handle = opendir($dir)) {
		while (($file = readdir($handle)) !== false) {
			$chemin_fichier = $dir.'/'.$file;
			if (is_dir($chemin_fichier)) {
				$nb_image = 0;
				if (!in_array($file, $GLOBALS['tabl_exclus'])) {
					liste_albums($chemin_fichier);
				}
			} else {
				if (is_file($chemin_fichier)) {
					if (in_array(substr($file,-4), $GLOBALS['tabl_inclus'])) {
					  $nb_image++;
						if ($nb_image == 1) {
							$chemin_miniature = $dir.'/mini/'.$file;
							$lien = '<a href="album.php?titre='.$dir.'">';
							$lien .= '<img src="'.$chemin_miniature.'"><h3>'.ucwords(substr($dir,2)).'</h3></a>';
//							echo $lien;
							$tabl_liens[$dir] = $lien;
						}
					}
				}
			}
		}
		closedir($handle);
	}
}

liste_albums('.');
print_r $tabl_liens;

Eléphanteau du PHP | 15 Messages

28 déc. 2006, 12:25

Oupsss, j'avais bien réfléchi mais après avoir posté, j'ai trouvé la réponse (en fait, elle était dans ma question !)...
function liste_albums($dir, &$tabl_liens) {
	...
	liste_albums($chemin_fichier, &$tabl_liens);

}

liste_albums('.', &$tabl_liens);
Désolé pour ce post inutile (pour moi mais peut-être pas pour d'autres... :wink: )

Philippe