2016-04-13 11 views
0

Ich habe ein PHP-Skript mit ca. 50 globalen Variablen. Ich habe etwa 18 Funktionen, wo ich die globalen Variablen brauche.Verwenden Sie alle globalen Variablen auf einmal in PHP-Funktion

Ich brauche fast 40 globale Variablen in den meisten Funktionen. I enthalten sie jetzt als:

 function example1() { 
     global $1, $2, $3, ..... $40; 
     } 

     function example2() { 
     global $1, $2, $3, ..... $40; 
     } 

Gibt es einen einfacheren Weg, dies zu tun?

Zum Beispiel alle globalen Variablen auf einmal?

In einem Array vielleicht?

Ich hoffe, ein paar gute Vorschläge zu hören!

+0

Speichern Sie diese globalen Variablen in SESSION. – Pupil

+10

Nur nein, NEIN! Tun Sie das nicht – Rizier123

+0

Was würden Sie vorschlagen? –

Antwort

0

Ich übergab eine Vielzahl von Variablen zu global. Ich lernte jetzt, dass ich an der & für jede Schleife die Daten im Array direkt ändern musste, anstatt sie zu deklarieren und sie an die globalen Variablen zu übergeben.

Um direkt in der Lage zu sein Ändern Array-Elemente innerhalb der Schleife vor $ Wert mit &. In diesem Fall wird der Wert als Referenz zugewiesen.

 <?php 
     $arr = array(1, 2, 3, 4); 
     foreach ($arr as &$value) { 
      $value = $value * 2; 
     } 
     // $arr is now array(2, 4, 6, 8) 
     unset($value); // break the reference with the last element 
     ?> 

Danke für die Hilfe! Ich könnte viele Codes und Variablen löschen ...

0

Sie könnten einfach alle Globals einschließen.

function myFunc() { 
    foreach ($GLOBALS as $n => $v) { 
    global $$n; 
    } 
    ... code using any global variable 
} 

Oder Sie könnten Ihre eigene vordefinierte Untergruppe einschließen.

$myGlobals = array('n1','n2'); 

function myFunc() { 
    foreach ($GLOBALS['myGlobals'] as $n) { 
    global $$n; 
    } 
    ... code using any global variable named in $myGlobals 
}