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.

Hva er en funksjon?

Selv om du kanskje ikke har vært klar over det, har vi brukt funksjoner tidligere i denne guiden. Kommandoene som er innebygd i PHP, slik som ”echo” og ”print” er funksjoner som sprÃ¥ket tilbyr. Blant slike funksjoner finner man ogsÃ¥ matematiske funksjoner, slik som f.eks. utregning av sinus (sin) og cosinus (cos).

Det interessante med funksjoner er at du også kan lage dine egne. En funksjon er en kodeblokk som på en måte er adskilt fra resten av koden din. I koden du skriver i funksjonen din har du kun tilgang på de variablene som er parametre til funksjonen.

Dette blir svært abstrakt uten et kodeeksempel, så derfor kommer det et slikt nå. Med det du har lært til nå er gjerne følgende det du ville gjort dersom du ønsket å regne ut arealet og omkretsen for en sirkel for 3 forskjellige sirkler;


<?php
$radius 
2;
echo 
"Sirkel med radius $radius har areal ".
   (
$radius $radius 3.14)." og omkrets ".
   (
3.14 $radius)."<br/>";
$radius 4;
echo 
"Sirkel med radius $radius har areal ".
   (
$radius $radius 3.14)." og omkrets ".
   (
3.14 $radius)."<br/>";
$radius 5;
echo 
"Sirkel med radius $radius har areal ".
   (
$radius $radius 3.14)." og omkrets ".
   (
3.14 $radius)."<br/>";
?>

Som du ser blir dette fort ganske mye kode, selv for noe så enkelt som det å regne ut areal og omkrets for 3 tre sirkler. Ville det ikke vært kjekt om vi kunne skrevet noe så enkelt som SirkelInfo(3) for å få informasjonen om en sirkel med radius 3? Det kan vi fort ordne.


<?php
function SirkelInfo($radius)
{
    echo 
"Sirkel med radius $radius har areal ".
        (
$radius $radius 3.14)." og omkrets ".
        (
3.14 $radius)."<br/>";
}
SirkelInfo(2);
SirkelInfo(4);
SirkelInfo(5);
?>

Som du ser har vi sluppet unna med å skrive vår lange setning en gang, i stedet for tre ganger som vi gjorde i det forrige skriptet. I tillegg til dette blir det enklere å oppdatere utregningen dersom det viser seg at pi ikke er akkurat lik 3,14, siden vi nå bare må oppdatere dette to plasser, i stedet for seks.

Men det er mye her vi ikke har forklart. Først og fremst, for å definere en funksjon, bruker vi nøkkelordet function. Direkte etter dette ordet kommer navnet på funksjonen, som kan være omtrent hva du vil. Etterpå finner vi den såkalte parameterlisten i paranteser.

Parameterlisten angir hvilke variabler som vil være tilgjengelig for koden inne i funksjonen. I vårt eksempel benytter vi oss bare av ett parameter, $radius, som du kan se vi bruker flere ganger inne i funksjonen.

Etter parameterlisten kommer selve funksjonen, avgrenset av de vanlige klammeparentesene. Vår funksjon består bare av den ene linjen som begynner med echo, siden vi kan gjøre alle våre utregninger der.

Når du ønsker å kalle funksjonen du har laget, er du nødt til å skrive navnet dens etterfulgt av parenteser fylt med verdier for argumentene. Du kan gjerne sende inn variabler her, og variabelens verdi vil bli sendt til funksjonen.