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 [2017-06-06 22:04]
Daniel Viström
dvprog_11 [2020-02-06 10:30]
Daniel Viström
Line 1: Line 1:
-====== Genomgång - Funktioner ======+====== Genomgång - Funktioner ====== 
 + 
 +==== Exempel 1 ====
  
 <code php> <code php>
 +<?php
  
 +/*
 + * 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>';
 +}
 +
 +// Här nedanför startar  huvudprogrammet.
 +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>';
 +
 +stars();
 +// Funktioner är bra om man vill göra samma sak
 +// på flera ställen i koden.
 +stars2(5);
 +stars2(10);
 +stars2(20);
 +
 +include 'foot.php';
 +</code>
 +
 +==== Exempel 2 ====
 +
 +<code php>
 <?php <?php
  
Line 11: Line 60:
  * $tal1 och $tal2 är inte samma variabel som   * $tal1 och $tal2 är inte samma variabel som 
  * i huvudprogrammet fast de heter likadant.   * i huvudprogrammet fast de heter likadant. 
- Blir en kopia av variablerna i huvudprogrammet.+ Det blir en kopia av variablerna i huvudprogrammet.
  */  */
 function summa($tal1, $tal2){ function summa($tal1, $tal2){
Line 17: Line 66:
   $tal1 = 1000;  // $tal ändras bara i funktionen.   $tal1 = 1000;  // $tal ändras bara 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.+  return $summa;   // Skickar tillbaka svaret. Funktionen avbryts då
 } }
  
Line 27: Line 76:
  */  */
 function stars(){ function stars(){
-  echo '************************<br />';+  echo '************************<br>';
 } }
  
Line 42: Line 91:
   // Ny rad skrivs ut när alla stjärnor   // Ny rad skrivs ut när alla stjärnor
   // är utskrivna.   // är utskrivna.
-  echo '<br />';  +  echo '<br>';  
 } }
  
Line 62: Line 111:
  * göra dem tillgängliga med include.  * göra dem tillgängliga med include.
  */  */
-include('functions.php');+include 'functions.php';
  
-include('head.php');+include 'head.php';
  
 // 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('.dlrow olleH') . '<br />';+echo strrev('.dlrow olleH') . '<br>';
 $text='dallas'; $text='dallas';
 $text2=strrev($text); $text2=strrev($text);
-echo $text2 . '<br />';+echo $text2 . '<br>';
  
 $tal1 = 5; $tal1 = 5;
Line 79: Line 128:
 // förändras i funktionen. $tal1 är olika variabler // förändras i funktionen. $tal1 är olika variabler
 // i huvudprogrammet och i funktionen fast de har samma namn. // i huvudprogrammet och i funktionen fast de har samma namn.
-echo summa($tal1,$tal2) . ' ' . $tal1 . '<br />';+echo summa($tal1,$tal2) . ' ' . $tal1 . '<br>';
 // Blir felmeddelande. $test finns bara i funktionen. // Blir felmeddelande. $test finns bara i funktionen.
-echo $test . '<br />';+echo $test . '<br>';
  
 $x = 4; $x = 4;
Line 87: Line 136:
 // Variablerna behöver inte ha samma namn som // Variablerna behöver inte ha samma namn som
 // i funktionen. 10 skrivs ut. // i funktionen. 10 skrivs ut.
-echo summa($x, $y) . '<br />';+echo summa($x, $y) . '<br>';
  
 // Går att skicka värden direkt. 18 skrivs ut. // Går att skicka värden direkt. 18 skrivs ut.
 $sum = summa(8,10); $sum = summa(8,10);
-echo $sum . '<br />';+echo $sum . '<br>';
 stars(); stars();
 // Funktioner är bra om man vill göra samma sak // Funktioner är bra om man vill göra samma sak
Line 107: Line 156:
   $i++;   $i++;
 } }
-echo '<br />';+echo '<br>';
  
-include('foot.php');+include 'foot.php';
  
 </code> </code>