Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
dvprog_11 [2020-02-06 10:30]
Daniel Viström
dvprog_11 [2020-02-06 13:02]
Daniel Viström
Line 1: Line 1:
 ====== Genomgång - Funktioner ====== ====== 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 "hoppar" det tillbaka till därifrån anropet gjordes. En funktion kan ta emot parametrar och returnera ett värde.
  
 ==== Exempel 1 ==== ==== Exempel 1 ====
Line 53: Line 55:
 <code php> <code php>
 <?php <?php
- 
 /* /*
  * En funktion kan ha flera parametrar och kan  * En funktion kan ha flera parametrar och kan
  * returnera ett värde.  * returnera ett värde.
  *  *
- * $tal1 och $tal2 är inte samma variabel som  + OBS! $tal1 och $tal2 är inte samma variabler som 
- * i huvudprogrammet fast de heter likadant.  + * i huvudprogrammet fast de heter likadant. 
- Det blir en kopia av variablerna i huvudprogrammet.+ De blir en kopior av variablerna i huvudprogrammet.
  */  */
 function summa($tal1, $tal2){ function summa($tal1, $tal2){
-  $summa = $tal1 + $tal2; +    $summa = $tal1 + $tal2; 
-  $tal1 = 1000;  // $tal ändras bara i funktionen. +    $tal1 = 1000;  // $tal1 ändras bara i kopian som finns i funktionen. 
-  $test = 'teststräng';    // $test finns bara i funktionen +    $test = 'teststräng';    // $test finns bara i funktionen 
-  echo $test . '<br>'; +    echo $test . '<br>'; 
-  return $summa;   // Skickar tillbaka svaret. Funktionen avbryts då.  +    return $summa;   // Skickar tillbaka svaret.
-+
- +
-/* +
- * En funktion kan vara utan parametrar och +
- * behöver inte returnera något. Denna funktion +
- * skriver bara ut en rad med stjärnor. +
- */ +
-function stars(){ +
-  echo '************************<br>'; +
-+
- +
-/* +
- * Denna funktion skriver ut lika många stjärnor +
- * som värdet på parametern $n. +
- */ +
-function stars2($n){ +
-  $i = 0; +
-  while($i < $n){ +
-    echo '*'; +
- $i++; +
-  } +
-  // Ny rad skrivs ut när alla stjärnor +
-  // är utskrivna. +
-  echo '<br>';  +
 } }
  
Line 99: Line 76:
  */  */
 function even($tal){ function even($tal){
-  if ($tal%2 == 0){ +    // Innehållet i funktionen kan förkortas till endast raden: return $tal%2 == 0; 
-    return true; +    if ($tal%2 == 0){ 
-  } else { +        return true; 
-    return false; +    } else { 
-   +        return false; 
 +    }
 } }
  
-/*  +// Huvudprogram
- * Har man många funktioner kan det vara +
- * bra att lägga dessa i en separat fil och +
- * göra dem tillgängliga med include. +
- */ +
-include 'functions.php'; +
 include 'head.php'; include 'head.php';
- 
-// 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('.dlrow olleH') . '<br>'; 
-$text='dallas'; 
-$text2=strrev($text); 
-echo $text2 . '<br>'; 
  
 $tal1 = 5; $tal1 = 5;
Line 141: Line 105:
 $sum = summa(8,10); $sum = summa(8,10);
 echo $sum . '<br>'; echo $sum . '<br>';
-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){
-  if(even($i)){ +    if(even($i)){ 
-    echo $i . ' '; +        echo $i . ' '; 
-  +    
-  $i++;+    $i++;
 } }
 echo '<br>'; echo '<br>';
  
 include 'foot.php'; include 'foot.php';
- 
 </code> </code>