Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
dvprog_11 [2017-09-01 13:43] Daniel Viström |
dvprog_11 [2020-02-06 12:04] Daniel Viström |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Genomgång | + | ====== Genomgång - Funktioner ====== |
+ | |||
+ | En funktion är en del av ett program som anropas av den övriga koden för att utföra en viss uppgift. Funktionen kan anropas flera gånger från olika delar av programmet. När en funktion anropas körs koden i funktionen. Därefter " | ||
+ | |||
+ | ==== Exempel 1 ==== | ||
<code php> | <code php> | ||
- | |||
<?php | <?php | ||
- | |||
- | /* | ||
- | * En funktion kan ha flera parametrar och kan | ||
- | * returnera ett värde. | ||
- | * | ||
- | * $tal1 och $tal2 är inte samma variabel som | ||
- | * i huvudprogrammet fast de heter likadant. | ||
- | * Blir en kopia av variablerna i huvudprogrammet. | ||
- | */ | ||
- | function summa($tal1, | ||
- | $summa = $tal1 + $tal2; | ||
- | $tal1 = 1000; // $tal ändras bara i funktionen. | ||
- | $test = ' | ||
- | echo $test . '< | ||
- | return $summa; | ||
- | } | ||
/* | /* | ||
Line 27: | Line 14: | ||
*/ | */ | ||
function stars(){ | function stars(){ | ||
- | | + | |
} | } | ||
Line 35: | Line 22: | ||
*/ | */ | ||
function stars2($n){ | function stars2($n){ | ||
- | | + | |
- | while($i < $n){ | + | while($i < $n){ |
- | echo ' | + | echo ' |
- | $i++; | + | $i++; |
- | } | + | } |
- | // Ny rad skrivs ut när alla stjärnor | + | // Ny rad skrivs ut när alla stjärnor |
- | // är utskrivna. | + | echo '< |
- | echo '< | + | } |
+ | |||
+ | // Här nedanför startar | ||
+ | include ' | ||
+ | |||
+ | // php har en massa färdiga funktioner, bl.a. för strängar. | ||
+ | // Värdet som returneras kan skrivas ut eller sparas i en variabel. | ||
+ | echo strrev(' | ||
+ | $text = ' | ||
+ | $text2 = strrev($text); | ||
+ | echo $text2 . '< | ||
+ | |||
+ | stars(); | ||
+ | // Funktioner | ||
+ | // på flera ställen i koden. | ||
+ | stars2(5); | ||
+ | stars2(10); | ||
+ | stars2(20); | ||
+ | |||
+ | include ' | ||
+ | </ | ||
+ | |||
+ | ==== Exempel 2 ==== | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | /* | ||
+ | * En funktion kan ha flera parametrar och kan | ||
+ | * returnera ett värde. | ||
+ | * | ||
+ | * OBS! $tal1 och $tal2 är inte samma variabler som | ||
+ | * i huvudprogrammet fast de heter likadant. | ||
+ | * De blir en kopior av variablerna i huvudprogrammet. | ||
+ | */ | ||
+ | function summa($tal1, | ||
+ | $summa = $tal1 + $tal2; | ||
+ | $tal1 = 1000; // $tal1 ändras bara i kopian som finns i funktionen. | ||
+ | $test = ' | ||
+ | | ||
+ | return $summa; | ||
} | } | ||
Line 50: | Line 76: | ||
*/ | */ | ||
function even($tal){ | function even($tal){ | ||
- | | + | // Innehållet i funktionen kan förkortas till endast raden: return $tal%2 == 0; |
- | return true; | + | |
- | } else { | + | return true; |
- | return false; | + | } else { |
- | } | + | return false; |
+ | } | ||
} | } | ||
- | /* | + | // Huvudprogram |
- | * Har man många funktioner kan det vara | + | include ' |
- | * bra att lägga dessa i en separat fil och | + | |
- | * göra dem tillgängliga med include. | + | |
- | */ | + | |
- | include(' | + | |
- | + | ||
- | include(' | + | |
// php har en massa färdiga funktioner, bl.a. för strängar. | // php har en massa färdiga funktioner, bl.a. för strängar. | ||
// Värdet som returneras kan skrivas ut eller | // Värdet som returneras kan skrivas ut eller | ||
// sparas i en variabel. | // sparas i en variabel. | ||
- | echo strrev(' | + | echo strrev(' |
- | $text=' | + | $text = ' |
- | $text2=strrev($text); | + | $text2 = strrev($text); |
echo $text2 . '< | echo $text2 . '< | ||
Line 92: | Line 113: | ||
$sum = summa(8, | $sum = summa(8, | ||
echo $sum . '< | echo $sum . '< | ||
- | stars(); | ||
- | // Funktioner är bra om man vill göra samma sak | ||
- | // på flera ställen i koden. | ||
- | stars2(5); | ||
- | stars2(10); | ||
- | stars2(20); | ||
// Alla jämna tal mellan 0 och 20 skrivs ut. | // Alla jämna tal mellan 0 och 20 skrivs ut. | ||
$i = 0; | $i = 0; | ||
while($i <= 20){ | while($i <= 20){ | ||
- | | + | |
- | echo $i . ' '; | + | echo $i . ' '; |
- | } | + | } |
- | $i++; | + | $i++; |
} | } | ||
echo '< | echo '< | ||
- | include(' | + | include ' |
</ | </ |