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