qualitum logo
Slingor
Slingor använder du dig av när du vill göra en upprepning av någonting. Man brukar säga att man itererar över någonting. Det kan handla om utskrift av en tabell, där itererar du över tabellens rader och skriver ut dem en efter en.

I detta kapitel kommer jag att gå igenom de tre vanligaste slingorna som används i PHP. Jag kommer att vara sparsam med text och låta kodexemplen tala för sig själv.

While-slingan

While-slingan upprepar körningen av ett specifikt kodblock sålänge som ett visst villkor är uppfyllt (validerar som sant). Villkoret bygger du upp med hjälp av operatorer. Ofta använder du While-slingan i samband med databashantering. Den passar utmärkt till det då du på förhand inte behöver veta hur många gånger slingan skall köras. Det är ju inte säkert att du vet hur många poster med information som du kommer få ut ur din databas.

Dags för ett exempel, men kör inte detta om du tror att din dator har lätt att hänga sig. Exemplet är nämligen ett exempel som bara kommer stå och tugga, en evighetsslinga.

Exempel

PHP:
1:
<?php
2:
 
3:
// En evighetsslinga: 
4:
 
5:
while(2){
6:
    echo '1 är mindre än 2';
7:
}
8:
 
9:
?>


Här kommer slingans kropp köras sålänge som ett är mindre än två. Och eftersom det alltid är så kommer utskriften upprepas till dess att datorn lägger av eller PHP-skriptet uppnår maxtid för exekvering (vanligtvis 30 sekunder).

Vi tar ytterligare ett exempel, här skrivs strängen 'Jippie!' ut 500 gånger.

Exempel

PHP:
1:
<?php
2:
 
3:
$i 0;
4:
 
5:
while($i 500){
6:
    echo 'Jippie!<br />'
7:
    $i++;
8:
}
9:
 
10:
?>


For-slingan

For-slingan är ytterligare en av de slingor som finns att tillgå i PHP. För att kunna köra denna bör du veta hur många gånger du vill köra den. Jag visar med ett exempel.

Exempel

PHP:
1:
<?php
2:
 
3:
for($i 0$i<500$i++) {
4:
    echo 'Jippie!<br />';
5:
}
6:
 
7:
?>


Koden ovan gör exakt samma sak som det sista while-exemplet gjorde, enligt mig på ett renare och snyggare sätt. Du ser att innehållet i parentesen är uppdelat i tre delar, avgränsade med semikolon. Den första kallas för initieringen, den inträffar första gången PHP går in i loopen. Här initierar man den kontrollvariabel som du använder i slingan. Den andra delen är själva "kontrollen". Här bestäms om sling-kroppen skall köras eller inte. Validerar uttrycket till sant körs slingan ett varv till, validerar det till falskt stannar körningen av slingan. Sist men inte minst kommer den sats som avslutar körningen av ett "varv" i slingan. Här räknar vi upp kontrollvariabeln så att den någon gång skall bli 500 (som ju krävs för att slingan skall upphöra att köras).

Foreach-slingan

Denna såg du av tidigare när jag gick igenom vektorer. Det är också uteslutande för vektorer som den används. Jag hämtar upp ett exempel därifrån för att fräscha upp ditt minne.

Exempel

PHP:
1:
<?php
2:
 
3:
$vektor1 = array('a' => 'värde1''b' => 'värde2''c' => 'värde3''d' => 'värde4'); 
4:
 
5:
foreach ($vektor1 as $nyckel => $varde) {
6:
    echo $nyckel ' : ' $varde '<br />'
7:
}
8:
 
9:
?>


Foreach itererar alltså över samtliga element i en vektor. Beroende på hur du bygger upp uttrycket kan du komma åt både nyckeln på vektorselementet och värdet. För fler exempel av foreach rekommenderar jag dig att ta en titt på just vektorskapitlet.
Kapitel 8 av 8
[ 1 2 3 4 5 6 7 8 ]
Välkommen Anonymous
Logga in
Registrera
Snabblänkar
Markera alla forum som lästa
Skriptarkivet [86 av 97]
Visa nya inlägg
Visa dina inlägg
Visa obesvarade huvudinlägg
Läs vår skola
  Introduktion
  Programmera i webbmiljö
  Installationen i Windows
  Variabler och konstanter
  Vektorer
  Operatorer
  Villkorssatser
  Slingor
Statistik
Registrerade medlemmar: 19241
Inlägg totalt: 714033
Senaste medlem: William.n
Online
Besökare just nu: 16,
1 registrerad,
0 dolda och
15 gäster
Besökare som mest var 337 den 2007-07-16 20:05

Våra medlemmar
Inloggade medlemmar
Bra att veta
Förhållningsregler
Trivselregler
phpBB-FAQ
För dig som vill länka
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo