Tableau dans une fonction
Résolu
csi_bern
Messages postés
72
Statut
Membre
-
csi_bern Messages postés 72 Statut Membre -
csi_bern Messages postés 72 Statut Membre -
Bonjour,
Je souhaite utiliser un tableau global dans une fonction.
Voici la fonction:
Et voici un extrait du tableau $picket par un print_r:
La valeur 1578524400 est bien présente dans les indices du tableau, mais à l'affichage, seul le "s" est visible.
En effectuant cette demande en dehors de la fonction, ça marche.
Pour information, j'ai un deuxième tableau avec des index classiques à insérer dans cette fonction et il ne marche pas non plus. Sinon, j'ai une autre fonction, où là l'import d'un autre tableau fonctionne.
Enfin, en désespoir de cause, j'ai également essayé en insérant des guillemets autour de l'index, mais ça ne change rien.
Par contre, ça marche si je mets le tableau en paramètre de la fonction (mais ça ne doit pas être génial au niveau performance).
Merci d'avance pour vos suggestions.
Je souhaite utiliser un tableau global dans une fonction.
Voici la fonction:
function isPicket($date, $grup) {
global $picket;
echo $picket[1578524400]."s";
}
Et voici un extrait du tableau $picket par un print_r:
Array
(
[1577660400] => 1
[1577746800] => 1
[1577833200] => 1
[1577919600] => 4
[1578006000] => 4
[1578092400] => 4
[1578178800] => 4
[1578265200] => 2
[1578351600] => 2
[1578438000] => 2
[1578524400] => 1
[1578610800] => 1
[1578697200] => 1
[1578783600] => 1
...
[1609282800] => 1
[1609369200] => 4
)
La valeur 1578524400 est bien présente dans les indices du tableau, mais à l'affichage, seul le "s" est visible.
En effectuant cette demande en dehors de la fonction, ça marche.
Pour information, j'ai un deuxième tableau avec des index classiques à insérer dans cette fonction et il ne marche pas non plus. Sinon, j'ai une autre fonction, où là l'import d'un autre tableau fonctionne.
Enfin, en désespoir de cause, j'ai également essayé en insérant des guillemets autour de l'index, mais ça ne change rien.
Par contre, ça marche si je mets le tableau en paramètre de la fonction (mais ça ne doit pas être génial au niveau performance).
Merci d'avance pour vos suggestions.
3 réponses
-
Bonjour,
A la place de ton print_r,
peux tu fairevar_dump($picket);
etvar_dump($picket[1578524400]);
et nous montrer ce que ça te retourne ?
-
Salut Jordane,
Voici le premier Dump (exécuté hors de la fonction):array (size=368)
1577660400 => int 1
1577746800 => int 1
1577833200 => int 1
1577919600 => int 4
1578006000 => int 4
1578092400 => int 4
1578178800 => int 4
1578265200 => int 2
1578351600 => int 2
1578438000 => int 2
1578524400 => int 1
1578610800 => int 1
1578697200 => int 1
1578783600 => int 1
...
1588460400 => int 1
1588546800 => int 3
1588633200 => int 3
more elements...
Et le second (exécuté hors de et dans la fonction):
C:\wamp64\www\test\projet\tableau.php:191:int 1
Et là ne me demande pas pourquoi (à moins que tu ais une idée) mais la fonction marche. -
Bonjour,
Après avoir baladé mon code dans tous les sens, j'ai trouvé ce qui ne jouait pas.
En fait, le tableau était déclaré après l'appel de la fonction (mais avant la fonction) et visiblement php n'aime pas ça.
J'ai donc tout déplacé plus haut et ça marche.
Encore merci à Jordane.
Bonne journée