Page 1 sur 1

Une variable array en sortie de fonction ?

Posté : 04 juil. 2007, 10:02
par Gsgsd
Bonjour, j'ai une fonction avec laquelle je renvoie une variable qui est un tableau multidimentionnel.

Ce que j'aimerais savoir c'est comment afficher une valeur particuliere du tableau, tout ce que j'arrive à faire c'est à afficher le tableau complet avec :
<?php
print_r(fonction_read($var))
?>
afficher pour un cas sans fonction
<?
$var[0]
?>
merci

Posté : 04 juil. 2007, 10:09
par Garth
c'est toujours la meme valeur que tu veux afficher ?
et si tu ne donne pas plus de code ca ne facilite pas les choses
exemple si tu recherche une valeur fixe mais qui a une position variable dans ton tableau
utilise la fonction foreach ou encore une boucle for avec un count

Posté : 04 juil. 2007, 10:29
par jpaul
Bonjour,

Tu dis que ton tableau est multidimentionnel !
$var[0] correspond lui même à un tableau
il faut afficher :
echo $var[0][0]; // si ton tableau est à 2 dimensions
echo $var[0][0][0]; // s'il est à 3 dimensions...
et bien sûr faire varier les indices...

Posté : 04 juil. 2007, 17:10
par Gsgsd
En faites voilà ma fonction:
function read_dir($path) {
	$out = array();
	if (!is_dir($path) || !$handle = @dir($path))
	{
		trigger_error('\''.$path.'\' doesn\'t exists or is not a valid directory', E_USER_ERROR);
	}
	else
	{
		while ($entry = $handle->read())
		{
			if ($entry !== "." && $entry !== "..")
			{
				$path_to_entry = $path.'/'.$entry;
				if ($entry !== '.' && $entry !== '..' && @is_dir($path_to_entry))
				{
					$out[$entry] = read_dir($path_to_entry, $full_list);
				}
				else
				{
					$out[$entry] = $path_to_entry;
				}
			}
		}
	}
	return $out;
}
et j'affiche mon tableau complet avec
print_r(read_dir($path));
et moi je voudrai affiche une valeur particuliere pour pouvoir l'utiliser pour un lien ou un truc comme ça donc est ce que je dois utiliser
echo read_dir($path)[0];
ou
echo $out[0];

Posté : 04 juil. 2007, 17:32
par Gsgsd1
C'est bon j'ai trouvé c'était tout con.

Il fallait que je fasse
$tab = read_dir($link);
et pour afficher
echo $tab[0][0];
Merci et désolé