في لغة PHP، يُقصد بـ “Control Flow” أو “تدفق التحكم” مجموعة التعليمات التي تتحكم في ترتيب تنفيذ الكود بناءً على شروط معينة أو حلقات تكرار.
سنتناولها بشكل تفصيلي حسب الأنواع التالية:
✅ 1. التحكم بالشروط (Conditional Statements)
✳️ if Statement
$age = 20;
if ($age >= 18) {
echo "أنت بالغ.";
}
PHPشرح: يتم تنفيذ الكود داخل if
فقط إذا تحقق الشرط $age >= 18
.
✳️ if…else Statement
$age = 16;
if ($age >= 18) {
echo "أنت بالغ.";
} else {
echo "أنت قاصر.";
}
PHPشرح: إذا لم يتحقق شرط if
يتم تنفيذ الكود داخل else
.
✳️ if…elseif…else Statement
$mark = 75;
if ($mark >= 90) {
echo "ممتاز";
} elseif ($mark >= 75) {
echo "جيد جداً";
} elseif ($mark >= 60) {
echo "جيد";
} else {
echo "راسب";
}
PHPشرح: يتم فحص الشروط بالترتيب، وينفذ أول شرط يتحقق فقط.
✳️ Ternary Operator (الشرط المختصر)
$age = 20;
echo ($age >= 18) ? "بالغ" : "قاصر";
PHPشرح: بديل مختصر لـ if...else
.
✳️ null coalescing operator (??)
$username = $_GET['user'] ?? 'ضيف';
echo $username;
PHPشرح: إذا كانت القيمة الأولى غير معرفة أو null يتم استخدام القيمة بعد ??
.
✳️ match (PHP 8+)
$grade = 'B';
$result = match($grade) {
'A' => 'ممتاز',
'B' => 'جيد جداً',
'C' => 'جيد',
default => 'غير معروف',
};
echo $result;
PHPشرح: بديل أكثر ترتيبًا لـ switch
.
✅ 2. التكرار (Loops)
🔁 while loop
$i = 1;
while ($i <= 5) {
echo "العدد: $i<br>";
$i++;
}
PHPشرح: ينفذ الكود طالما الشرط صحيح.
🔁 do…while loop
$i = 1;
do {
echo "العدد: $i<br>";
$i++;
} while ($i <= 5);
PHPشرح: ينفذ الكود مرة واحدة على الأقل، ثم يتحقق من الشرط.
🔁 for loop
for ($i = 1; $i <= 5; $i++) {
echo "العدد: $i<br>";
}
PHPشرح: الأكثر استخدامًا مع عدادات، تنفذ الكود بعد تحديد البداية والنهاية والزيادة.
🔁 foreach loop (للمصفوفات)
$names = ["أحمد", "فاطمة", "سعيد"];
foreach ($names as $name) {
echo "الاسم: $name<br>";
}
PHPشرح: تُستخدم مع المصفوفات والـ collections، وتتكرر تلقائيًا على كل عنصر.
✅ 3. عبارات التحكم داخل الحلقات
🔸 break
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) break;
echo "العدد: $i<br>";
}
PHPشرح: يوقف الحلقة بالكامل عند تحقق الشرط.
🔸 continue
for ($i = 1; $i <= 5; $i++) {
if ($i == 3) continue;
echo "العدد: $i<br>";
}
PHPشرح: يتجاوز الدورة الحالية ويكمل الدورة التالية.
✅ 4. switch Statement
$day = "الثلاثاء";
switch ($day) {
case "الاثنين":
echo "بداية الأسبوع";
break;
case "الثلاثاء":
echo "اليوم الثاني";
break;
default:
echo "يوم غير معروف";
}
PHPشرح: تُستخدم عندما تريد مقارنة نفس المتغير مع عدة قيم.
📌 ملخص سريع:
النوع | الاستخدام |
---|---|
if , else | للتحكم بالقرارات والشروط |
switch , match | للتحكم بحالات متعددة لقيمة واحدة |
for , while | لتنفيذ أو تكرار كود |
break | للخروج من الحلقة |
continue | لتخطي دورة واحدة في الحلقة |
foreach | لتكرار عناصر المصفوفة |