fonction qui renvoie un tableau d'entiers

spray6969
Invité n'ayant pas de compte PHPfrance

08 nov. 2005, 18:25

Bonjour,

Je souhaiterai que ma fonction ci dessous me renvoie le tableau qu'elle crée afin que je puisse accéder à une ou plusieurs valeurs de ce tableau dans mon "Main"

Mais là je coince

Merci
function ecritab ($tab)
{
    for($i = 0; $i <= 366; $i++)
    {
        $tab[$i]=3;
    }
    return $tab;
}
-----MAIN------------
ecritab($eee);
echo $eee[2];

Mammouth du PHP | 19672 Messages

08 nov. 2005, 22:27

Tu appelles la fonction mais sans stocker le résultat: fait donc:
$resultat = excritab($eee);
print_r($resultat);
echo($resultat[2]);
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 63 Messages

09 nov. 2005, 00:12

Un truc marrant à essayer aussi (pour le fun, soyons fous!), qui devrait faire à peu près ce que tu veux:
function ecritab (&$tab)
{
    for($i = 0; $i <= 366; $i++)
    {
        $tab[$i] = 3;
    }
}
Et dans ta page principale:
ecritab($eee);

echo $eee[2];

Mammouth du PHP | 19672 Messages

09 nov. 2005, 08:14

Un truc marrant à essayer aussi (pour le fun, soyons fous!), qui devrait faire à peu près ce que tu veux:
function ecritab (&$tab)
{
    for($i = 0; $i <= 366; $i++)
    {
        $tab[$i] = 3;
    }
}
Et dans ta page principale:
ecritab($eee);

echo $eee[2];
:shock: Un détail m'échappe, c'est exactement ce qu'il a fait selon son message et il a indiqué que ça ne fonctionnait pas, ce qui est logique également.

Aurais-je loupé une marche... :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 983 Messages

09 nov. 2005, 11:32

Pas une marche, juste un '&' :P

Il passe le tableau en référence dans la fonction. Ce qui fait que la fonction travaille bien sur la variable du tableau, et non pas un copie.

Si tu utilises cette fonction pour remplir un tableau avec la même valeur, il existe la fonction array_fill() qui fait exactement ca, et en plus rapide puisque c'est compilé ;)

spray6969
Invité n'ayant pas de compte PHPfrance

14 nov. 2005, 13:21

Merci beaucoup le passage par reference marche très bien.

Par contre se pose un autre problème, Autant lepassage par ref fonctionne très bien lorsque ma fonction est dans mon main, autant celà ne marche pas du tout lorsque ma fonction est dans un autre fichier "fonctions.php" et est appelé dans le main par un include.

Une idée ??