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 অপারেটর ?? 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 অপারেটর ?? (এবং ??=) পরিষ্কার ডিফল্ট হ্যান্ডলিংয়ের জন্য ব্যাপকভাবে ব্যবহৃত হয় (একটি স্বতন্ত্র PHP প্রণোদনা); এবং আধুনিক match এক্সপ্রেশন (PHP 8) হল switch-এর উপর একটি গুরুত্বপূর্ণ উন্নতি — একটি মান রিটার্ন করে, strict তুলনা ব্যবহার করে, এবং fall-through বাগগুলি দূর করে (switch-এর ক্লাসিক ত্রুটি break ভুলে যাওয়া)।
এই কনস্ট্রাক্টগুলি জানা, এবং আধুনিক, নিরাপদ ফর্মগুলি পছন্দ করা (match বনাম switch, ডিফল্টের জন্য ??), পরিষ্কার, প্রচলিত, ত্রুটিমুক্ত PHP লজিক লেখার জন্য দৈনন্দিন জ্ঞান, যা মৌলিক এবং আধুনিক PHP-র উন্নতির প্রতি পারদর্শিতা প্রতিফলিত করে।