Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Spaß mit foreach und Referenzen in PHP

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

  • [Erledigt] Spaß mit foreach und Referenzen in PHP

    Hi,
    hatte eben ein kleines Problem, das mein PHP-Weltbild hat zusammenbrechen lassen und habs hier mal heruntergebrochen.

    Ohne es zu testen... was wird hier wohl ausgegeben?

    PHP-Code:
    $array range(111);

    foreach (
    $array as $i => &$match) {}
    foreach (
    $array as $i => $match) {}

    print_r($array); 
    Falls jemand eine Erklärung haben sollte: Ich bin ganz Ohr!

    Viel Spaß,
    Christoph
    http://mcsodbrenner.blogspot.com/
    Serpent PHP Template Engine: http://code.google.com/p/serpent-php-template-engine/


  • #2
    Das hatten wir hier schon mal.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Code:
      // Ausgabe:
      Array
      (
          [0] => 1
          [1] => 2
          [2] => 3
          [3] => 4
          [4] => 5
          [5] => 6
          [6] => 7
          [7] => 8
          [8] => 9
          [9] => 10
          [10] => 10
      )
      Was gibt's da groß zu erklären?
      Nach dem ersten foreach-Durchlauf enthält $matches eine Referenz auf das letzte Array-Element.
      Und im zweiten Durchlauf wird das Element, auf das diese Referenz verweist, jeweils mit dem aktuellen Wert überschrieben.

      Bau das print_r in den Rumpf der zweiten foreach-Schleife ein, dann sollte es schnell deutlich werden, was genau passiert.

      Kommentar


      • #4
        Musste den Satz eben 5mal lesen, bevor ichs verstanden habe.
        Ganz so einleuchtend wie du fand ichs aber nicht.
        Danke!
        http://mcsodbrenner.blogspot.com/
        Serpent PHP Template Engine: http://code.google.com/p/serpent-php-template-engine/

        Kommentar


        • #5
          - http://www.php.de/adventskalender-20...-oddities.html

          Abschnitt „Referenzen und foreach-Schleifen“
          PHP-Wissenssammlung Composer Awesome Awesomeness PHP: The Right Way @mermshaus

          Kommentar


          • #6
            http://php.net/manual/de/control-structures.foreach.php

            6. Kommentar ist da auch hilfreich.
            You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

            Kommentar


            • #7
              Johannes Schlüter: References and foreach

              dr. ?

              Kommentar

              Lädt...
              X