PHP میں معیاری control-flow constructs ہیں — conditionals (, , )، loops (, , )، اور branching (, ) — اور ساتھ میں کچھ distinctive features جیسے arrays کے لیے اور جدید expression ہیں۔
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)
null coalescing operator ?? PHP میں بہت استعمال ہوتا ہے defaults کے لیے (اگر بائیں طرف null یا unset ہو تو دائیں طرف واپس کرتا ہے) — isset() checks سے زیادہ صاف۔
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",
};
match expression (PHP 8) switch پر ایک جدید بہتری ہے: یہ ایک value واپس کرتا ہے، strict (===) comparison استعمال کرتا ہے، اور کوئی fall-through نہیں ہے (کوئی break ضروری نہیں) — نئے code میں ترجیح دی جاتی ہے۔
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 PHP میں idiomatic، سب سے زیادہ استعمال ہونے والا loop ہے arrays کو iterate کرنے کے لیے ($key => $value form کے ساتھ associative arrays کے لیے)۔
foreach ($items as $item) {
if ($item->skip) continue; // skip to next iteration
if ($item->stop) break; // exit the loop
}
Control flow logic کو ظاہر کرنے کا بنیادی میکانزم ہے، ہر program میں استعمال ہوتا ہے، اس لیے PHP کے constructs کو سمجھنا بنیادی روزمرہ کی معلومات ہے۔
زیادہ تر معیاری ہیں، لیکن کچھ PHP-specific نکات اہم ہیں: foreach PHP کے ubiquitous arrays کو iterate کرنے کے لیے idiomatic، dominant loop ہے (maps کے لیے $key => $value form کے ساتھ)؛ null coalescing operator ?? (اور ??=) صاف default handling کے لیے بہت استعمال ہوتا ہے (ایک distinctly PHP idiom)؛ اور جدید match expression (PHP 8) error-prone switch پر ایک اہم بہتری ہے — ایک value واپس کرنا، strict comparison استعمال کرنا، اور fall-through bugs کو ختم کرنا (classic switch pitfall: break بھول جانا)۔
ان constructs کو جاننا، اور جدید، محفوظ forms کو ترجیح دینا (match بجائے switch کے، defaults کے لیے ??)، صاف، idiomatic، bug-free PHP logic لکھنے کے لیے روزمرہ کی معلومات ہے، جو بنیادی اور جدید PHP کی بہتریوں دونوں کے ساتھ روانی کو ظاہر کرتا ہے۔