Globales Array

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

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

    Comment


    • #3
      Originally posted by h3ll View Post
      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?

      Comment


      • #4
        Originally posted by Truncate View Post
        Was wäre die Alternativlösung? $GLOBAL?
        Nein, das ist auch global.

        Du brauchst keine globalen Variablen, glaub mir.

        Comment


        • #5
          Originally posted by h3ll View Post
          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...

          Comment


          • #6
            Originally posted by Truncate View Post
            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.

            Comment


            • #7
              Originally posted by Truncate View Post
              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.
              Last edited by wahsaga; 31-05-2014, 15:42.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Comment

              Working...
              X