Brug for hjælp til forklaring af funktion

Tags:    php

Hej
Er der en, der vil forklare mig, hvad der sker i følgende funktion trin for trin med følgende brug af funktionen: $numbers=array(2, 7, 3) osv.

Det er vist særligt $max i linje 4 og 5 jeg slet ikke forstår.
På forhånd mange tak. Vh. Polka


function array_max($array){
$max = 0;
for ($i = 0; $i < count($array); $i++){
if ($array[$i] > $max)
$max = $array[$i];
}
return $max;
}





der sker følgende:
1: $max sættes til 0, udgangsposition.
2: vi løber arrayet igennem, en gang for hvert tal der er i arrayet
3 & 4: hvis værdien af den nuværende del af arrayet er større end hvad $max er lige nu, så sætter vi $max til at være lig med det tal, som den nuværende del af arrayet indeholder.
5: vi sender $max tilbage efter arrayet er helt kørt igennem.

Det den gør er at finde den højeste værdi arrayet indeholder, ved at sætte $max til at være lig med det nuværende tal hvis det er højere end det forrige :) - hvis det næste tal er højere, så sætter vi det til at være maks og fortsætter, hvis ikke fortsætter vi uden at gøre noget. På den måde fortsætter det indtil vi har været hele arrayet igennem, og så vil den højeste værdi være fundet. Forestil dig følgende eksempel:

$numbers = array(2, 7, 3);
echo array_max($numbers);

dette vil udskrive 7, fordi:

Første gang vi løber arrayet igennem:
Er 2 højere end $max? $max er lig med 0, og 2 er højere end 0, så fra nu af skal $max være 2.

Anden gang vi løber arrayet igennem:
Er 7 højere end $max? $max er lig med 2, og 7 er højere end 2, så fra nu af skal $max være 7.

Tredje gang vi løbet arrayet igennem:
Er 3 højere end $max? $max er lig med 7, og 3 er mindre end 7, så vi lader $max være.

Nu er arrayet færdigt, og $max, som blev gjort til lig med 7, returneres.



Hej Per
Tusind tak for hjælpen. Det var en dejlig pædagogisk forklaring. Nu forstår jeg det:D
Vh. Sanne




Det var så lidt.

Dog findes funktionen allerede i standard PHP, og hedder max();

http://dk.php.net/max



t