Je dois fonctionner dans deux fichiers différents.
L'un d'entre eux devrait ajouter un nouvel élément à un tableau à chaque appel à une matrice et que le tableau doit être accessible .Qu'est-ce que je l'ai fait, c'est: mais il ne fait que créer un élément de tableau même si J'appelle cette fonction 4 fois. P> p>
3 Réponses :
Qu'est-ce que vous avez fait devrait fonctionner.
<?php function function1(){ global $array; $array[] = 'hi'; } function1(); function1(); function1(); print_r($array);
Les multiples appels n'étaient donc pas faits dans la même course? Ai-je deviné le problème juste?
Oui Alin, les fonctions sont exécutées sur une nouvelle demande HTTP.Ils n'a pas appelé le même Run.it était de ma faute.
Je suis un peu confus par le libellé de votre question. Quand vous dites "je dois fonctionner dans deux fichiers différents." Voulez-vous dire que vous avez des fonctions "deux"?
Si vous avez deux fonctions qui tentent d'utiliser votre variable $ TRAY, vous devrez appeler La raison en est que C'est essentiellement la même chose que de dire ceci: p> Global $ TRAY; code> dans les deux fonctions. p>
global code> est un peu trompeur. Tout ce que c'est vraiment en train d'affecter une référence à un membre de
_ globals code> à une variable dans la portée locale qui a le même nom que l'index $ _globals. En d'autres termes, si vous faites quelque chose comme ceci: p>
$variable =& $_GLOBALS['variable']; (assign by reference)
ne devrait-il pas être $ global code> au lieu de
£ _ globaux code>
J'ai eu le problème qu'un réseau mondial $ n'était pas connu dans une fonction. Mais quand j'ai placé le premier déflecteur def: $ Array = tableau (); Avant le premier appel de la fonction, cela a fonctionné. P>
Notez que Les globaux sont presque toujours mauvais .