tox: if Abfrage mit negativem Wert wird ingnoriert

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

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

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