if Abfrage mit negativem Wert wird ingnoriert
tox
- php
1 Der Martin...0 tox
Schönen Abend Alle,
in mein Shop soll der Kunde den vor-vorigen Artikel anklicken können, aber beim Berechnen an der Grenze klappt das Abfragen mit negativem Wert nicht.
$two_array_back=$array_number-2;
Angenommen ich bin bei Artikel Nummer 1 und es gibt 10 Artikel in dieser Kategorie, dann wäre das Artikel 9 der hier zu erreichen wäre.
if($array_number<0) $two_array_back=$end_array_number+$two_array_back;
Nun soll er sein Negativergebnis (1 - 2 = -1) zu 10 addieren damit er im Array den Artikel 9 anpackt. Stattdessen ingoriert er das if-chen und lässt die Variable $array_number bei -1.
Kennt if keine negativen Werte? Wie kann man das umgehen? Ich hab nix dazu gefunden.
Danke, tox
Hallo,
manchmal sieht man wirklich den Wald vor lauter Bäumen nicht. ;-)
Ich hab die if-Anweisung mal auseinandergezogen, der Übersicht halber.
if ($array_number<0)
$two_array_back = $end_array_number+$two_array_back;
Wenn ich dich richtig verstanden habe, ist $array_number der aktuelle Index, der aber nie negativ ist (deshalb trifft die if-Bedingung nie zu), und $two_array_back soll der neue Index-Wert sein, der im ersten Rechenschritt auch mal -1 oder sogar -2 sein kann. $end_array_number ist der Index des letzten Elements (im Beispiel also 9). Richtig soweit?
Dann wäre doch der naheliegende Schritt, nicht $array_number zu überprüfen, sondern $two_array_back:
if ($two_array_back<0)
$two_array_back += $end_array_number+1;
Kennt if keine negativen Werte?
Doch, selbstverständlich. Man muss nur die richtigen Bedingungen formulieren!
Alles gute weiterhin,
Martin
Hi Martin,
manchmal sieht man wirklich den Wald vor lauter Bäumen nicht. ;-)
wie war! Das war genau der Tritt den ich gebraucht habe, danke. :-)
nicht $array_number zu überprüfen, sondern $two_array_back:
Aber natürlich, eigentlich schon peinlich. Oder einfach nur schon zu spät?
Einen wunderschönen Abend
tox