PHP के पास मानक नियंत्रण-प्रवाह संरचनाएं हैं — सशर्त (, , ), लूप्स (, , ) और शाखा (, ) — साथ ही कुछ विशिष्ट विशेषताएं जैसे सरणियों के लिए और आधुनिक अभिव्यक्ति।
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 में डिफ़ॉल्ट के लिए बहुत अधिक उपयोग किया जाता है (यदि बाईं ओर null या unset है तो दाईं ओर लौटाता है) — 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",
};
match अभिव्यक्ति (PHP 8) switch का एक आधुनिक सुधार है: यह एक मान लौटाता है, strict (===) तुलना का उपयोग करता है, और कोई fall-through नहीं है (break की आवश्यकता नहीं) — नए कोड में पसंदीदा।
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 में सबसे आदर्श, सबसे अधिक उपयोग किया जाने वाला लूप है ($key => $value फॉर्म के साथ सहयोगी सरणियों के लिए)।
foreach ($items as $item) {
if ($item->skip) continue; // skip to next iteration
if ($item->stop) break; // exit the loop
}
नियंत्रण प्रवाह तर्क को व्यक्त करने की बुनियादी प्रक्रिया है, जिसका उपयोग हर कार्यक्रम में किया जाता है, इसलिए PHP की संरचनाओं को समझना मौलिक दैनिक ज्ञान है।
जबकि अधिकांश मानक हैं, लेकिन कुछ PHP-विशिष्ट बिंदु महत्वपूर्ण हैं: foreach PHP की सर्वव्यापी सरणियों पर पुनरावृत्ति के लिए सबसे आदर्श, प्रमुख लूप है ($key => $value फॉर्म के साथ मैप के लिए) ; null coalescing operator ?? (और ??=) डिफ़ॉल्ट हैंडलिंग के लिए बहुत अधिक उपयोग किया जाता है (एक विशिष्ट PHP idiom) ; और आधुनिक match अभिव्यक्ति (PHP 8) त्रुटि-prone switch का एक महत्वपूर्ण सुधार है — एक मान लौटाना, strict तुलना का उपयोग, और fall-through bugs को खत्म करना (क्लासिक switch break को भूलने का खतरा)।
इन संरचनाओं को जानना, और आधुनिक, सुरक्षित रूपों को प्राथमिकता देना (switch के बजाय match, डिफ़ॉल्ट के लिए ??), स्वच्छ, आदर्श, bug-मुक्त PHP तर्क लिखने के लिए दैनिक ज्ञान है, जो बुनियादी बातों और आधुनिक PHP के सुधारों दोनों में पारंगतता को दर्शाता है।