Guide: PHP- & MySQL-innføring: Kapittel 5

Funksjoner

Programmeringsspråket PHP har blitt svært populært de siste årene. Vi fortsetter introduksjonen og tar for oss funksjoner.

Returnere verdier

Funksjonene du har sett til nå har kun skrevet ut tekst direkte til nettleseren. Som oftest benyttes funksjoner til å returnere en verdi, som du dermed kan jobbe videre med i koden din. Returnering av verdier gjøres ved hjelp av kommandoen return.

Vi kan gå tilbake til vårt tidligere eksempel med sirkler. Dersom du ønsker å finne ut det totale arealet for flere sirkler vil det være upraktisk å benytte seg av SirkelInfo som vi definerte tidligere. Vi lager derfor en ny funksjon som returnerer arealet av en sirkel i stedet for å skrive det ut.


<?php
function RegnUtSirkelAreal($radius)
{
    return 
$radius $radius 3.1415;
}
$sum 0;
for (
$i 1$i 5$i++)
    
$sum += RegnUtSirkelAreal($i);
echo 
"Sirklene med radius fra 1 til og med 5 har ".
    
"et totalt areal pÃ¥ $sum<br/>";
?>

Her bruker vi en kortform som du ikke har sett før. += betyr legg til den følgende verdien til variabelen, og er en kortere måte å skrive $sum = $sum + $noeMer.

I tillegg til denne nye kortformen, inneholder snutten over en svært vanlig feil når det gjelder for-løkker. Om du ikke finner feilen ved å lese gjennom koden, prøv å kjør den, endre litt på koden og finn feilen. Svaret kommer på neste side.

Her bruker vi return-kommandoen til å si hva funksjonens verdi er. Merk at vi kun kan kalle return en gang i hver funksjon, siden kode etter return ikke vil bli kjørt. Det betyr at vi kan endre vår funksjon ovenfor til å forhindre input av feil data;


function RegnUtSirkelAreal($radius)
{
    if (
$radius 0)
        return 
0;
    return 
$radius $radius 3.1415;
}

Om du nå kaller denne funksjonen med en negativ radius, vil funksjonen alltid returnere 0 som areal, siden en sirkel ikke kan ha negativt areal. Dersom radiusen er mindre enn 0, vil return 0 bli kalt og linjen etterpå vil ikke kjøres.