Page 1 of 1

5 Arrays mit dem größsten Zahleninhalt ermiteln?

Posted: 2008-10-02 12:59
by tangenta
Hallo,

in einem Script sind 100 Arrays mit Zahleninhalt:

$zahl[1]=5;
$zahl[2]=33;
$zahl[3]=23;
$zahl[4]=56;
$zahl[5]=67;
$zahl[6]=45;
$zahl[7]=51;
... usw

Nun sollen die 5 Arrays aufgezeigt werden, welche die größsten Zahlen enthalten.

In Beispiel von oben wären das die Arrays $zahl[]:
2, 4, 5, 6, 7

Wie kann man das am besten auswerten lassen, gibt es da Befehle in PHP?

Danke für die Hilfe,

Gruß Alex

Re: 5 Arrays mit dem größsten Zahleninhalt ermiteln?

Posted: 2008-10-02 13:31
by anyware
Ich habe mich zwar noch nie wirklich mit PHP beschäftig, aber für mich sieht dein Beipsiel nach genau einem Array mit x Werten aus. Daher kannst du das Array doch einfach sortieren und dann die ersten 5 Elemente ausgeben.

Re: 5 Arrays mit dem größsten Zahleninhalt ermiteln?

Posted: 2008-10-02 13:52
by tangenta
:?:
Du hast vielleicht die Frage falsch verstanden.
Ich möcht nicht die 5 größsten Zahlen wissen, sondern welche Arays 1-100 die fünf größsten Zahlen enthalten.

Re: 5 Arrays mit dem größsten Zahleninhalt ermiteln?

Posted: 2008-10-02 14:07
by anyware
Stimmt, ich habe die Frage tatsächlich falsch verstanden. Dessen ungeachtet hast du aber trotzdem nur EIN Array mit 100 Werten und nicht 100 Arrays. Sind die Werte denn garantiert verschieden, oder kann es Dopplungen geben?

Re: 5 Arrays mit dem größsten Zahleninhalt ermiteln?

Posted: 2008-10-02 14:16
by tangenta
Ja richtig, ein Array mit 100 Schlüsseln.
Und die Frage: unter welchen fünf Schlüsseln eines Arrays sind die fünf größten Zahlen.
Und es ist auch möglich, daß Dopplungen vorhanden sind!

Re: 5 Arrays mit dem größsten Zahleninhalt ermiteln?

Posted: 2008-10-02 14:36
by anyware
Probier mal die Funktion asort

Re: 5 Arrays mit dem größsten Zahleninhalt ermiteln?

Posted: 2008-10-02 15:44
by tangenta
Anyware wrote:Probier mal die Funktion asort
Danke, fuktioniert wunderbar mit asort() und nach der Auswertung wieder den ursprünglichen Zustand herstellen mit ksort(), damit die alte Reihenfolge für den weiteren Verlauf vorhanden ist. :-D

Gruß Alex