Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Verständnisproblem for-Schleife“

Jormungand

VonAllemEtwas

Hallo,
bei den Übungsaufgaben zum Buch "Einstieg in PHP 5.5 und MySQL 5.6" verstehe ich eine Lösung nicht.
PHP:
<?php
        $vorname = array("Peter", "Markus", "Jens", "Julia", "Monika", "Gerd");
        $alter = array(35, 42, 16, 17, 42, 55);

        echo "<table border='1'>\n";
        echo "<tr>\n<td>\n<strong>Name</strong>\n</td>\n"
        . "<td><strong>Alter</strong></td>\n</tr>\n";
// Warum geht $i++ nicht?
        for ($i = 0; $i <= 5; $i = $i++) {
            echo "<tr>\n<td>$vorname[$i]</td>\n"
            . "<td>$alter[$i]</td>\n</tr>\n";
        }
        echo "</table>";
        ?>
So habe ich die Aufgabe gelöst, aber es kommt zu einer Endlosschleife.
Die angegebene Lösung im Buch sieht genauso aus, bis auf die for-Bedingung, die $i = $i+1 anstatt $i = $i++ verwendet. Damit klappts dann auch. Aber warum? Ist $i + 1 nicht das gleiche wie $i++ ?

Beste Grüße
Jormungand
 

cebito

undefined

Es gibt mehrere Möglichkeiten Variablen hochzuzählen:
PHP:
$i++; //zählt $i um eins hoch
$i += 1; //zählt $i um eins hoch, statt 1 kann aber auch jeder andere Wert genommen werden
$i = $i+1; //zählt $i um eins hoch, statt 1 kann aber auch jeder andere Wert genommen werden
Deine for mit $i++ muss also so aussehen:
Code:
for ($i = 0; $i <= 5; $i++) .........
 

Curanai

Aktives Mitglied

Guten Morgen,

um cebitos Auflistung noch zu ergänzen: ++$i; gibt es auch noch ... wirkt aber definitiv anders! (nur der Vollständigkeit für Addition erwähnt) :)

Beste Grüße
 

Jormungand

VonAllemEtwas

Danke für den Tipp, Curanai.
Hab gerade dazu nachgelesen.
Für die oben genannte Zeile...
PHP:
for ($i = 0; $i <= 5; $i = $i++)
... wäre $i im ersten Durchgang 0, wäre aber schonmal temporär für den nächsten Durchgang auf 1 gesetzt. Bei...
PHP:
for ($i = 0; $i <= 5; $i = ++$i)
... wäre $i gleich im ersten Durchgang 1, richtig?
 

cebito

undefined

Zuletzt bearbeitet:

Curanai

Aktives Mitglied

Als Eselsbrücke gilt:
$i++ ... gibt den alten Wert zurück (zur Prüfung) und erhöht dann
++$i ... erhöht und gibt den neuen Wert an die Funktion etc. zurück.

Trifft man seltener, taucht aber gern bei gewissen Zertifizierungen auf ... ;)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.155
Beiträge
2.581.850
Mitglieder
67.221
Neuestes Mitglied
opaklaus
Oben