Cikli ļauj atkārtot koda bloku vairākas reizes. PHP piedāvā vairākus ciklu veidus dažādiem scenārijiem.

while

Izpilda kodu, kamēr nosacījums ir patiess:

<?php
$i = 1;
while ($i <= 5) {
echo "Skaitlis: $i<br>";
$i++;
}
// Izvadīs: 1, 2, 3, 4, 5
?>

do...while

Līdzīgs while, bet kods tiek izpildīts vismaz vienu reizi:

<?php
$i = 10;
do {
echo "Skaitlis: $i<br>";
$i++;
} while ($i <= 5);
// Izvadīs: 10 (vienreiz, jo 10 > 5)
?>

for

Kad zināms iterāciju skaits:

<?php
for ($i = 0; $i < 10; $i++) {
echo "$i ";
}
// Izvadīs: 0 1 2 3 4 5 6 7 8 9
?>

for cikls sastāv no trim daļām: inicializācija; nosacījums; solis.

foreach

Speciāli paredzēts masīvu pārskatīšanai — visbiežāk lietotais cikls PHP:

<?php
$augļi = ["ābols", "bumbieris", "ķirsis"];

foreach ($augļi as $auglis) {
echo "$auglis<br>";
}
?>

Ar atslēgām (asociatīvajiem masīviem):

<?php
$cenas = [
"ābols" => 0.50,
"bumbieris" => 0.80,
"ķirsis" => 1.20,
];

foreach ($cenas as $nosaukums => $cena) {
echo "$nosaukums: €$cena<br>";
}
?>

Praktisks piemērs: HTML tabula

<?php
$studenti = [
["vards" => "Anna", "atzīme" => 9],
["vards" => "Jānis", "atzīme" => 7],
["vards" => "Marta", "atzīme" => 10],
];
?>

<table border="1">
<tr><th>Vārds</th><th>Atzīme</th></tr>
<?php foreach ($studenti as $students): ?>
<tr>
<td><?= $students['vards'] ?></td>
<td><?= $students['atzīme'] ?></td>
</tr>
<?php endforeach; ?>
</table>

<?= ... ?> ir saīsinājums priekš <?php echo ... ?>.

break un continue

<?php
for ($i = 1; $i <= 10; $i++) {
if ($i === 5) {
break; // pārtrauc ciklu
}
if ($i % 2 === 0) {
continue; // izlaiž šo iterāciju
}
echo "$i "; // Izvadīs: 1 3
}
?>