Hallo Miky,
du hast schon viel gewonnen, wenn Du es schaffst, deine Aufgabenstellung nicht in Form eines Beispiels zu formulieren, sondern in Form einer "Wenn dies, dann das" Beschreibung. Dabei fällt dann auch auf, ob es "dies" Situationen gibt, zu denen man sich noch kein "das" überlegt hat.
Da Du nicht beschreibst, was Du tun willst, sondern nur, wie Du es tun willst, kann ich mir etliche der folgenden Fragen nicht selbst beantworten.
Was ich im Moment aus deiner Beispielbeschreibung herauslese, ist:
Suche Dir von den beiden ersten Array-Einträgen den mit dem größeren "oben" Wert. Dessen Index sei $i.
Frage: Was ist, wenn beide gleich sind? Das ist nicht egal, denn sie können ja gleiche "oben" Werte haben, aber verschiedene "unten" Werte.
Suche ab Index 2 einen Eintrag, dessen "unten" Eintrag kleiner ist als der von Zeile $i. Der Index dieses Eintrags sei $j.
Frage: Was ist, wenn $i nicht 1 ist, wie im Beispiel, sondern 0. Müsste man dann auch ab Index 2 suchen? Oder ab Index 1?
Prüfe für den Rest des Arrays, ob die "oben" Werte größer sind als der "oben" Wert am Index $i.
Frage: Was ist "Rest"? Der Index ab $j + 1
?
Was dann noch zu klären wäre, ist: Weißt Du, wie Du deine Zahlenpaare aus der Datenquelle ordentlich ins Array hineinbekommst?
Ein Hinweis noch: foreach
wird Dir vermutlich nicht helfen. Damit werden immer alle Einträge des Arrays verarbeitet. Du musst aber ab einem bestimmtem Wert beginnen. Es wird wohl auf die klassische for (;;)
Schleife hinauslaufen.
Rolf
sumpsi - posui - clusi