9
votes

Array global à PHP

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: xxx

mais il ne fait que créer un élément de tableau même si J'appelle cette fonction 4 fois.


3 Réponses :


12
votes

Qu'est-ce que vous avez fait devrait fonctionner.

<?php

function function1(){

   global $array;

   $array[] = 'hi';

}
function1();
function1();
function1();
print_r($array);


2 commentaires

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.



5
votes

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 Global $ TRAY; code> dans les deux fonctions. p>

La raison en est que 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> xxx pré>

C'est essentiellement la même chose que de dire ceci: p>

 $variable =& $_GLOBALS['variable'];   (assign by reference)


1 commentaires

ne devrait-il pas être $ global au lieu de £ _ globaux



0
votes

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é.


0 commentaires