globale Variablen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • globale Variablen?

    wenn ich eine funktion habe, die auf ein Array zugreift, so in der Art:

    PHP-Code:
    function x() {
      echo 
    $myArray[4][3];

    das Array selbst wird aber weiter unten im Quellcode erst deklariert, allerdings VOR Aufruf der Funktion:

    PHP-Code:
    ...
    ...
    $myArray[4][3] = "hallo";
    x();
    ... 
    Dann sollte man doch annehmen, dass x() auf das Array zugreifen kann, oder? tut aber bei mir nciht. Nur, wenn ich das Array als Parameter übergebe, klappt es. Mache ich da bei der Deklaration etwas falsch?

  • #2
    PHP-Code:
    function x()
    {
        
    $myarray[4][3] = "hallo";
        return 
    $myarray[4][3];
    }
        
    $bla x();
    echo 
    $bla
    Mit einer Funktion kannst du Aufgaben lösen und diesen Wert dann zurückgeben.

    So wie oben funktioniert es. Kannst natürlich auch als Parameter den Array Wert mitgeben.
    Wer anderen eine Grube gräbt, der hat ein Grubengrabgerät.

    Kommentar


    • #3
      Re: globale Variablen?

      Original geschrieben von Merowinger2k6
      Dann sollte man doch annehmen, dass x() auf das Array zugreifen kann, oder?
      nein.

      entweder übergibst du dein array an die funktion oder du benutzt global innerhalb der funktion, um auf entsprechende variablen zugreifen zu können.

      variablen, die du innerhalb einer funktion anlegst sind ausserhalb auch nicht bekannt, es sei denn du lieferst sie mit return zurück oder arbeitest mit referenzen.
      Kissolino.com

      Kommentar


      • #4
        oki danke. Ich guck mir das mit diesem "global" nochmal an.... wie geht das, kann ich da etwas vor den Bezeichner stellen (also in meinem Fall das Array), so dass die Variable auch aus einer funktion heraus gefunden wird?

        Kommentar


        • #5
          PHP-Code:
          function bla()
          {
              global 
          $blub$blalala, ...; // kann 1 oder mehrere variablen aufnehmen
              
          ...

          sauberer ist es jedoch, die daten als parameter zu übergeben.
          Kissolino.com

          Kommentar

          Lädt...
          X