PHP nduwé konstruksi kontrolé alur standar — kondisional (, , ), loop (, , ), lan cabang (, ) — plus sawetara fitur khusus kayata kanggo array lan ekspresi modern.
ifswitchmatchforforeachwhilebreakcontinueforeachmatch<?php
if ($score >= 90) {
$grade = "A";
} elseif ($score >= 80) {
$grade = "B";
} else {
$grade = "F";
}
// ternary and null coalescing
$status = $age >= 18 ? "adult" : "minor";
$name = $input ?? "default"; // ?? — use default if null/unset (PHP 7+)
$value ??= "x"; // ??= assign if null (PHP 7.4)
Operator null coalescing ?? digunakake akeh ing PHP kanggo nilai standar (mulih sisih tengen yen sisih kiwa null utawa ora disiapake) — luwih resik tinimbang priksa isset().
switch ($day) {
case "Sat":
case "Sun":
$type = "weekend"; break; // ⚠️ break needed or it falls through
default:
$type = "weekday";
}
// match (PHP 8) — cleaner: returns a value, STRICT comparison, NO fall-through
$type = match($day) {
"Sat", "Sun" => "weekend", // multiple values, no break needed
default => "weekday",
};
Ekspresi match (PHP 8) minangka perbaikan modern tinimbang switch: mulih nilai, nggunakake perbandingan ketat (===), lan ora ana fall-through (ora perlu break) — luwih dilebokne ing kode anyar.
for ($i = 0; $i < 10; $i++) { }
foreach ($items as $item) { } // iterate array values
foreach ($map as $key => $value) { } // keys + values — the PHP idiom for arrays
while ($condition) { }
do { } while ($condition);
foreach minangka loop idiotik lan paling asring digunakake ing PHP kanggo iterate array (kanthi wujud $key => $value kanggo array asosiatif).
foreach ($items as $item) {
if ($item->skip) continue; // skip to next iteration
if ($item->stop) break; // exit the loop
}
Kontrolé alur minangka mekanisme dhasar kanggo ngucapake logika, digunakake ing saben program, mula ngerti konstruksi PHP minangka pengetahuan dhasar sapindho dina.
Paling-palinge standar, nanging sawetara poin khusus PHP sing penting: foreach minangka loop idiotik lan dominan kanggo iterate array PHP sing ana ing mana-mana (kanthi wujud $key => $value kanggo peta); operator null coalescing ?? (lan ??=) digunakake akeh kanggo panganan nilai standar sing resik (idiotik distinctly PHP); lan ekspresi match modern (PHP 8) minangka perbaikan penting tinimbang switch sing gampang salah — mulih nilai, nggunakake perbandingan ketat, lan ngatasi bug fall-through (jebakan switch klasik nglalokake break).
Ngerti konstruksi kasebut, lan luwih anut wujud modern lan aman (match tinimbang switch, ?? kanggo nilai standar), minangka pengetahuan sapindho dina kanggo nulis logika PHP sing resik, idiotik, lan ora ana bug, nggambarake kelancaran kanthi dasar lan perbaikan PHP modern.