Functioner PHP Object orienteret Webintegrator HF 1 Functioner
Functioner PHP Object orienteret Webintegrator HF 1
Functioner Funktioner kan bruges hvis vi har noget kode vi gerne vil genanvende flere steder i programmet. Eksemplet herunder viser et simpelt funktionskald. <? php function say. Hello(){ print("<p>Hello world</p>"); } say. Hello(); ? > © Mercantec 2014
Funktioner med parametre Vi kan også vælge at overfører en eller flere parametre til funktionen. I dette tilfælde giver vi funktionen et navn og en fødselsdato hvorefter programmet beregner og udskriver alder. function say. Hello. Age($name, $birthday){ $currentyear = date("Y"); $birthyear = date("Y", $birthday); $age = $currentyear - $birthyear; printf("<p>Hello %s you are %u years old</p>", $name, $age); } $a = "Kurt"; $b = strtotime('10/16/2003'); say. Hello. Age($a, $b); © Mercantec 2014
Return parametre Vi kan også lave en funktion som returnerer en parameter. Her vises funktionen calc. Age der beregner aldre ud fra datoerne $birth og $now. Funktionen kaldes i say. Hello. Age og det resultatet den returnerer gemmes i $age. function calc. Age($birth, $now){ $currentyear = date("Y", $now); $birthyear = date("Y", $birth); return $currentyear - $birthyear; } function say. Hello. Age($name, $birthday){ $currentdate = time(); $age = calc. Age($birthday, $currentdate); printf("<p>Hello %s you are %u years old</p>", $name, $age); } $a = "Kurt"; $b = strtotime('10/16/2003'); say. Hello. Age($a, $b); © Mercantec 2014
Optional parameters Hvis man gerne vil have muligheden for at indsætte en anden dato som $currentdate i say. Hello. Age(), skal man blot sætte $currentdate til default værdien null. Hvis $currentdate er null udskiftes den af den aktuelle dato i funktionens første linie. Læg mærke til hvordan Kurts alder beregnes i forhold til den aktuelle dato, mens Peters alder beregnes i forhold til 16 -10 -2010. function calc. Age($birth, $now){ $currentyear = date("Y", $now); $birthyear = date("Y", $birth); return $currentyear - $birthyear; } function say. Hello. Age($name, $birthday, $currentdate=null){ if (is_null($currentdate)) $currentdate = time(); $age = calc. Age($birthday, $currentdate); printf("<p>Hello %s you are %u years old</p>", $name, $age); } $a = "Kurt"; $b = strtotime('10/16/2003'); say. Hello. Age($a, $b); $c = "Peter"; $d = strtotime('10/16/2003'); $e = strtotime('10/16/2010'); say. Hello. Age($c, $d, $e); © Mercantec 2014
- Slides: 5