Rolf B: Zahlen in einer For-Schleife durchlaufen lassen und überprüfen

Beitrag lesen

Hallo Miky,

gerne möchtest Du uns erklären, was Du eigentlich beabsichtigst.

Und du solltest - sofern es keine zwingenden Gründe für das Gegenteil gibt - Zahlen als Zahlen verarbeiten und nicht als Strings. Also 30 statt "30". Warum? Für dich am wichtigsten ist: Der Vergleich if ("5" < "15") ergibt FALSCH. Dagegen ergibt if (5 < 15) wunschgemäß WAHR.

Dein Code-Fragment ist offenbar nur ein Teil für die beiden ersten Zahlenpaare.

Aber: Was bedeuten diese Zahlenpaare, was ist der Sinn der Vergleiche? Deine Erklärung dessen, was Du tun willst, ist ohne Kenntnis deiner Absichten völlig unverständlich. Es ist unklar, wann Du benachbarte Paare (z.B. zahl1/zahl2) oder weiter entfernte Paare (z.B. zahl2/zahl4) vergleichen willst.

Das grundsätzliche Mittel der Wahl für Aufgaben dieser Art ist das https://www.php.net/manual/de/language.types.array.phpArray. Die Erklärung auf php.net ist eher eine Expertenversion. Unser Wiki enthält einen rudimentären PHP Teil, wo aber auch eine Erklärung zu Arrays drin ist.

$zahlen = ARRAY(
   ARRAY("oben" = 30, "unten" => 10),
   ARRAY("oben" => 40, "unten" => 20),
   ARRAY("oben" => 35, "unten" => 15),
   ARRAY("oben" => 22, "unten" => 5),
   ARRAY("oben" => 45, "unten" => 22),
);

Das Komma nach dem letzten ARRAY(...) sieht falsch aus, das war auch mal so, aber mittlerweile lässt PHP das zu, damit man nicht beim Hinzufügen oder Löschen von Zeilen in solchen Konstrukten ständig auf die Kommas aufpassen muss.

In neueren PHP Versionen (ab 5.6, meine ich) kann man das umständliche ARRAY auch durch eckige Klammern ersetzen:

$zahlen = [
   [ "oben" => 30, "unten" => 10 ],
   [ "oben" => 40, "unten" => 20 ],
   [ "oben" => 35, "unten" => 15 ],
   [ "oben" => 22, "unten" =>  5 ],
   [ [oben" => 45, "unten" => 22 ],
];

Das Array enthält nun Einträge mit den Indexen 0-4 (statt 1-5), und zu kommst an den dritten "unten"-Wert so heran: $zahlen[2]["unten"]. Das sieht erstmal umständlicher aus, aber an Stelle von 2 oder "unten" kannst du auch Variablen einsetzen und bist damit flexibel.

Was man Dir an Code vorschlagen kann, hängt nun von deinen Absichten ab. Erzähl mal.

Rolf

--
sumpsi - posui - clusi