Differences

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

Link to this comparison view

dvprog_11 [2017-09-01 14:54]
127.0.0.1 external edit
dvprog_11 [2022-07-18 13:20]
Line 1: Line 1:
-====== Genomgång 8 - Funktioner ====== 
  
-<code 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, $tal2){ 
-  $summa = $tal1 + $tal2; 
-  $tal1 = 1000;  // $tal ändras bara i funktionen. 
-  $test = 'teststräng';    // $test finns bara i funktionen 
-  echo $test . '<br>'; 
-  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>';   
-} 
- 
-/* 
- * Funktionen returnerar true om talet är 
- * jämnt och false om det är udda. 
- */ 
-function even($tal){ 
-  if ($tal%2 == 0){ 
-    return true; 
-  } else { 
-    return false; 
-  }   
-} 
- 
-/*  
- * 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'); 
- 
-// 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; 
-$tal2 = 7; 
-// 12 5 skrivs ut, d.v.s. $tal1 ändras inte fast det 
-// förändras i funktionen. $tal1 är olika variabler 
-// i huvudprogrammet och i funktionen fast de har samma namn. 
-echo summa($tal1,$tal2) . ' ' . $tal1 . '<br>'; 
-// Blir felmeddelande. $test finns bara i funktionen. 
-echo $test . '<br>'; 
- 
-$x = 4; 
-$y = 6; 
-// Variablerna behöver inte ha samma namn som 
-// i funktionen. 10 skrivs ut. 
-echo summa($x, $y) . '<br>'; 
- 
-// Går att skicka värden direkt. 18 skrivs ut. 
-$sum = summa(8,10); 
-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. 
-$i = 0; 
-while($i <= 20){ 
-  if(even($i)){ 
-    echo $i . ' '; 
-  } 
-  $i++; 
-} 
-echo '<br>'; 
- 
-include('foot.php'); 
- 
-</code>