Globales Array

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

  • Globales Array

    Hallo,

    ich bin es von diversen Programmiersprachen so gewöhnt, dass man z.B. erst ein Array anlegt und es dann "global" macht.

    In PHP müßte das eigentlich so aussehen:

    PHP-Code:
    global $modelle = array("A","B","C"); 
    oder

    PHP-Code:
    $modelle = array("A","B","C");
    global 
    $modelle
    Das liefert zwar keinen Fehler, aber das Array ist z.B. in einer folgenden Funktion nicht ansprechbar.

    Wieso muss ich extra in jeder Funktion dann global $modelle; einbauen?

  • #2
    Global ist böse. Am besten du verabschiedest dich gleich von dem Gedanken. Das gilt natürlich auch für andere Programmiersprachen.

    Kommentar


    • #3
      Zitat von h3ll Beitrag anzeigen
      Global ist böse. Am besten du verabschiedest dich gleich von dem Gedanken. Das gilt natürlich auch für andere Programmiersprachen.
      Was wäre die Alternativlösung? $GLOBAL?

      Kommentar


      • #4
        Zitat von Truncate Beitrag anzeigen
        Was wäre die Alternativlösung? $GLOBAL?
        Nein, das ist auch global.

        Du brauchst keine globalen Variablen, glaub mir.

        Kommentar


        • #5
          Zitat von h3ll Beitrag anzeigen
          Nein, das ist auch global.

          Du brauchst keine globalen Variablen, glaub mir.


          Und wie greif ich dann innerhalb von Funktionen auf die auswärtigen Arrays zu?

          Ich will ja unnötigen Code vermeiden und in jede Funktion die Arrays doppelt reinsetzen...

          Kommentar


          • #6
            Zitat von Truncate Beitrag anzeigen
            Und wie greif ich dann innerhalb von Funktionen auf die auswärtigen Arrays zu?
            Gar nicht. Übergib alle Werte, die du in der Funktion brauchst, als Parameter.

            Kommentar


            • #7
              Zitat von Truncate Beitrag anzeigen
              Wieso muss ich extra in jeder Funktion dann global $modelle; einbauen?
              Weil dir nur das erlaubt, innerhalb deiner Funktion eine Variable namens $modelle zu nuzten, die lokal sein soll – das wäre nicht mehr möglich, wenn $modelle „global“ global gemacht worden wäre :-)

              Und wie greif ich dann innerhalb von Funktionen auf die auswärtigen Arrays zu?

              Ich will ja unnötigen Code vermeiden und in jede Funktion die Arrays doppelt reinsetzen...
              Kommt natürlich auf deinen konkreten Anwendungszweck an – aber vielleicht solltest du keine „lose herumliegenden“ Funktionen benutzen, sondern Objektmethoden.
              Zuletzt geändert von wahsaga; 31.05.2014, 16:42.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar

              Lädt...
              X