PHP ka konstruktimet standarde të rrjedhës së kontrollit — kushtet (, , ), unazat (, , ), dhe degzimi (, ) — plus disa karakteristika të dallueshme si për vektorët dhe shprehja moderne .
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)
Operatori null coalescing ?? përdoret gjerësisht në PHP për vlerat e paracaktuara (kthen anën e djathtë nëse ana e majtë është null ose e padefinuar) — më i pastër sesa kontrolle 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",
};
Shprehja match (PHP 8) është një përmirësim modern ndaj switch: kthen një vlerë, përdor krahasim të rreptë (===), dhe nuk ka rëndje përpara (nuk nevojitet break) — e preferuar në kodin e ri.
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 është unaza idiomatike, më e përdorura në PHP për iterimin e vektorëve (me formën $key => $value për vektorët asociativë).
foreach ($items as $item) {
if ($item->skip) continue; // skip to next iteration
if ($item->stop) break; // exit the loop
}
Rrjedha e kontrollit është mekanizmi bazik për shprehjen e logjikës, i përdorur në çdo program, kështu që kuptimi i konstruktimeve të PHP është njohuri themelore të përditshme.
Shumë janë standarde, por disa pikë specifike të PHP kanë rëndësi: foreach është unaza idiomatike, dominuese për iterimin e vektorëve të kudondodhur në PHP (me formën $key => $value për hartat); operatori null coalescing ?? (dhe ??=) përdoret gjerësisht për trajtimin e parapëlqyer të standardeve (një idiom karakteristik i PHP); dhe shprehja moderne match (PHP 8) është një përmirësim i rëndësishëm ndaj switch-it të prirur ndaj gabimeve — duke kthyer një vlerë, duke përdorur krahasim të rreptë, dhe duke eleminuar gabimet e rëndjeve përpara (kurth klasik i switch-it të harrimit të break).
Njohja e këtyre konstruktimeve dhe preferimi i formave moderne, më të sigurta (match mbi switch, ?? për standartet), është njohuri të përditshme për shkrimin e logjikës së pastër, idiomatike, pa gabime në PHP, duke reflektuar rrjedhshmërinë si me themelet ashtu edhe me përmirësimet moderne të PHP.