PHP ਕੋਲ ਮਿਆਰੀ control-flow constructs ਹਨ — conditionals (, , ), loops (, , ), ਅਤੇ branching (, ) — ਨਾਲ ਹੀ ਕੁਝ ਵਿਲੱਖਣ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜਿਵੇਂ arrays ਲਈ ਅਤੇ ਆਧੁਨਿਕ ਸਮੀਕਰਨ।
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 ਵਿੱਚ arrays ਨੂੰ iterate ਕਰਨ ਲਈ idiomatic, ਸਭ ਤੋਂ ਵੱਧ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ loop ਹੈ (associative arrays ਲਈ $key => $value ਰੂਪ ਨਾਲ)।
foreach ($items as $item) {
if ($item->skip) continue; // skip to next iteration
if ($item->stop) break; // exit the loop
}
Control flow logic ਪ੍ਰਗਟ ਕਰਨ ਦਾ ਬੁਨਿਆਦੀ ਢੰਗ ਹੈ, ਹਰ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ PHP ਦੇ constructs ਨੂੰ ਸਮਝਣਾ ਬੁਨਿਆਦੀ ਰੋਜ਼ਾਨਾ ਗਿਆਨ ਹੈ।
ਬਹੁਤੇ ਮਿਆਰੀ ਹਨ, ਪਰ ਕੁਝ PHP-ਖਾਸ ਨੁਕਤੇ ਮਹੱਤਵਪੂਰਨ ਹਨ: foreach PHP ਦੇ ਸਰਵ ਵਿਆਪੀ arrays ਨੂੰ iterate ਕਰਨ ਲਈ idiomatic, ਪ্ਰਮੁੱਖ loop ਹੈ ($key => $value ਰੂਪ ਦੇ ਨਾਲ maps ਲਈ); null coalescing operator ?? (ਅਤੇ ??=) ਸਾਫ਼ default ਹੈਂਡਲਿੰਗ ਲਈ ਭਾਰੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ (ਇੱਕ ਵਿਲੱਖਣ PHP idiom); ਅਤੇ ਆਧੁਨਿਕ match ਸਮੀਕਰਨ (PHP 8) switch ਉੱਤੇ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਸੁਧਾਰ ਹੈ — ਇੱਕ ਮੁੱਲ ਵਾਪਸ ਕਰਦਾ ਹੈ, strict ਤੁਲਨਾ ਵਰਤਦਾ ਹੈ, ਅਤੇ fall-through ਬੱਗਸ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ (ਕਲਾਸੀਕ switch pitfall break ਭੁੱਲਣ ਦਾ)।
ਇਹਨਾਂ constructs ਨੂੰ ਜਾਣਨਾ, ਅਤੇ ਆਧੁਨਿਕ, ਸੁਰੱਖਿਅਤ ਰੂਪਾਂ ਨੂੰ ਤਰਜੀਹ ਦੇਣਾ (switch ਉੱਤੇ match, ਡਿਫਾਲਟਾਂ ਲਈ ??), ਸਾਫ਼, idiomatic, bug-free PHP logic ਲਿਖਣ ਲਈ ਰੋਜ਼ਾਨਾ ਗਿਆਨ ਹੈ, ਬੁਨਿਆਦ ਅਤੇ ਆਧੁਨਿਕ PHP ਦੀ ਬਿਹਤਰੀਆਂ ਦੋਵਾਂ ਨਾਲ fluency ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ।