This is an old revision of the document!
Genomgång 8 - Att läsa från och skriva till textfiler
<?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){ $test = 'teststräng'; // $test finns bara i funktionen echo $test . '<br />'; $tal1 = $tal1 + $tal2; return $tal1; // 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; } } include('head.php'); /* * 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'); // 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'); $text = strrev(strtoupper('.dlrow olleH')); echo $text . '<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');