PHP għandu l-istandard kontroll tal-fluss konstrutti — kondizzjonali (, , ), loops (, , ), u branching (, ) — plus ftit karatteristiċi distintivi bħal għal arrays u l-espressjoni moderna .
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)
L-operatur null coalescing ?? jintuża ħafna f'PHP għal defaults (jirritorna l-lemin jekk ix-xellug hu null jew unset) — aktar pulizzat minn checks 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",
};
L-espressjoni match (PHP 8) hija titjib moderna fuq switch: tirritorna valur, tuża paragraph strett (===), u m'għandha l-ebda fall-through (m'għandux bżonn break) — preferibbli fil-kodiċi ġdid.
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 huwa l-loop idiomatiku u l-aktar użat f'PHP għall-iterazzjoni ta' arrays (bil-forma $key => $value għal arrays assoċjativi).
foreach ($items as $item) {
if ($item->skip) continue; // skip to next iteration
if ($item->stop) break; // exit the loop
}
Kontroll tal-fluss huwa l-mekkaniżmu bażiku għat-tgħid il-loġika, użat f'kull programm, għalhekk il-fehim tal-konstrutti ta' PHP huwa għarfien fundamentali ta' kuljum.
Għodda huma standard, iżda ftit punti spesifiċi ta' PHP huma importanti: foreach huwa l-loop idiomatiku u dominanti għall-iterazzjoni tal-arrays omniprezenti ta' PHP (bil-forma $key => $value għal maps); l-operatur null coalescing ?? (u ??=) jintuża ħafna għall-ħandle ta' defaults nadif (idiom distintament ta' PHP); u l-espressjoni match moderna (PHP 8) hija titjib importanti fuq l-switch propenso għal żbalji — tirritorna valur, tuża paragraph strett, u telimina s-softwer tal-fall-through (il-pitfall klassiku ta' switch ta' jinsa break).
Li taf dawn il-konstrutti, u tkun tippreferi l-formi moderna u aktar sigura (match fuq switch, ?? għal defaults), huwa għarfien ta' kuljum għall-kitba ta' loġika PHP nadifa, idiomatika, u mingħajr bugs, li tirrifletti l-fluwenzja bin-fundamentals u l-ittjibiet ta' PHP moderni.