Når man bruger arrays (lister) er det ikke altid man ved, hvor mange værdier, der er i listen. Det kan blive et problem, hvis man skal have vist alle værdierne i listen.
En af de kommandoer, der frembringer en løkke er foreach. Foreach kører igennem en liste fra starten og til slutningen, lige meget hvor mange værdier, der er i listen. Inde i løkken kan man så bestemme, hvilke kommandoer, man vil have kørt.
Her følger syntaksen. Jeg har brugt et eksempel med en liste med katte:
//Her er listen:
$katte[] = "Perser";
$katte[] = "Angora";
$katte[] = "Norsk Skovkat";
$katte[] = "Gårdkat";
//Her følger så løkken:
foreach ($katte as $dyr)
{
echo "$dyr <br>";
}
Her følger et eksempel med brug af en tabel, hvor vi også benytter os af nøglen (dvs. det nummer, værdien har i listen). Nøglens værdi bliver gemt i variablen $nummer og den tilsvarende værdi bliver gemt i variablen $vaerdi:
//Her er listen:
$grupper[] = "Pink Floyd";
$grupper[] = "Beatles";
$grupper[] = "Sweet";
$grupper[] = "King Crimson";
$grupper[] = "Tribal Tech";
//Her starter tabellen
echo "<table border=\"1\">";
//Her starter løkken, én række til hver gruppe
foreach ($grupper as $nummer => $vaerdi)
{
$nummer++;
echo "<tr>";
echo "<td> $nummer </td>";
echo "<td> $vaerdi </td>";
echo "</tr>";
}
//Her slutter tabellen
echo "</table>";
(OBS: For at listen ikke skulle starte med nummer 0, har jeg lagt 1 til hver gang. Det gøres nemmeste med kommandoen $nummer++)
Det giver følgende resultat:
| 1 | Pink Floyd |
| 2 | Beatles |
| 3 | Sweet |
| 4 | King Crimson |
| 5 | Tribal Tech |