هياكل التحكم PHP: إذا كان الأمر كذلك، قم بتبديل الحالة

⚡ ملخص ذكي

تُحدد هياكل التحكم والحلقات مسار برنامج PHP وتُكرر أجزاءً من التعليمات البرمجية بكفاءة. يشرح هذا الدليل هياكل if-else و switch، ثم يتناول حلقات for و while و do-while و foreach التي يتوقعها المتنافسون في هذا الموضوع.

  • 🔀 تدفق التحكم: يختار هيكل التحكم أي كود يتم تشغيله بناءً على شرط معين، مما يحول التسلسل المباشر إلى منطق قائم على اتخاذ القرار.
  • 🔤 شرط الشرط: يقوم هيكل if-else بتشغيل كتلة واحدة عندما يكون الشرط صحيحًا وكتلة احتياطية عندما يكون خاطئًا.
  • 🧮 علبة التبديل: تقوم عبارة switch بمقارنة قيمة واحدة مع عدة تسميات للحالات وتشغيل الكتلة المطابقة، أو القيمة الافتراضية عندما لا تتطابق أي منها.
  • 🔁 نظرة عامة على الحلقات: تقوم الحلقات بتكرار كتلة من التعليمات البرمجية، مما يوفر عليك كتابة نفس العبارات عدة مرات.
  • 🔢 حلقات العد: كرر استخدام "for" و"while" طالما أن الشرط قائم، وهو مثالي عندما تعرف أو tracكم عدد التكرارات المطلوبة؟
  • 📦 حلقة التكرار لكل عنصر: تقوم حلقة foreach بالمرور على كل عنصر من عناصر المصفوفة دون إدارة عداد الفهرس بنفسك.
  • 🤖 مساعدة الذكاء الاصطناعي: يمكن لأدوات الذكاء الاصطناعي إعادة هيكلة سلاسل if-else الطويلة إلى عبارات switch أو match والمساعدة في إصلاح الحلقات اللانهائية.

هياكل التحكم والحلقات في لغة PHP

ما هو هيكل التحكم؟

Code يمكن تصنيف عمليات التنفيذ إلى فئات كما هو موضح أدناه.

  • تسلسلي – يتضمن هذا تنفيذ جميع التعليمات البرمجية بالترتيب الذي كُتبت به.
  • قرار - يتضمن هذا الخيار الاختيار في ضوء عدد من الخيارات. يعتمد الكود الذي يتم تنفيذه على قيمة الشرط.

بنية التحكم عبارة عن كتلة من التعليمات البرمجية التي تحدد مسار تنفيذ البرنامج اعتمادًا على قيمة الشرط المحدد.

دعونا الآن نلقي نظرة على بعض هياكل التحكم التي PHP يدعم.

PHP إذا كان آخر

إذا... إذن... وإلا هو أبسط هيكل التحكميقوم بتقييم الشروط باستخدام المنطق البولياني.

متى تستخدم إذا... ثم... وإلا

  • لديك كتلة من التعليمات البرمجية التي يجب تنفيذها فقط في حالة تحقق شرط معين
  • لديك خياران، وعليك أن تختار أحدهما.
  • إذا... إذن... وإلا إذا... يتم استخدامه عندما يتعين عليك تحديد أكثر من خيارين ويجب عليك تحديد خيار واحد أو أكثر

بناء الجملة. صيغة if… then… else هي:

<?php
if (condition is true) {
    block one
} else {
    block two
}
?>

هنا،

  • "إذا (كان الشرط صحيحًا)"هو هيكل التحكم"
  • "كتلة واحدة" هو الكود الذي سيتم تنفيذه إذا كان الشرط صحيحا
  • آخر هو البديل إذا كان الشرط خاطئا
  • "كتلة اثنين"هي كتلة التعليمات البرمجية التي يتم تنفيذها إذا كان الشرط خاطئًا

كيف تعمل. يوضح مخطط التدفق الموضح أدناه كيفية عمل بنية التحكم if… then… else.

PHP إذا كان آخر

دعونا نرى هذا عملياً. يستخدم الكود أدناه "if… then… else" لتحديد القيمة الأكبر بين رقمين.

<?php

$first_number = 7;

$second_number = 21;

if ($first_number > $second_number){

echo "$first_number is greater than $second_number";

}else{

echo "$second_number is greater than $first_number";

}

?>

الإخراج:

21 is greater than 7

حالة تبديل PHP

التبديل ... حالة مشابهة لل إذا... إذن... وإلا هيكل التحكم.

انه فقط ينفذ كتلة واحدة من التعليمات البرمجية اعتمادا على قيمنا من الشرط.

إذا لم يتم استيفاء أي شرط، فسيتم تنفيذ كتلة التعليمات البرمجية الافتراضية.

يحتوي على بناء الجملة الأساسي التالي.

<?php
switch(condition){

case value:

// block of code to be executed

break;

case value2:

// block of code to be executed

break;

default:

// default block code

break;

}
?>

هنا،

  • "يُحوّل(…){…}" هو رمز كتلة هيكل التحكم
  • "قيمة الحالة: الحالة ..." هي كتل التعليمات البرمجية التي سيتم تنفيذها اعتمادًا على قيمة الشرط
  • "تقصير:" هي كتلة التعليمات البرمجية التي سيتم تنفيذها عندما لا تتطابق أي قيمة مع الشرط

كيف يعمل

يوضح مخطط التدفق الموضح أدناه كيفية عمل هيكل التحكم في المفتاح.

حالة تبديل PHP

مثال عملي

يستخدم الكود أدناه بنية التحكم في التبديل لعرض رسالة حسب يوم الأسبوع.

<?php

$today = "wednesday";

switch($today){

case "sunday":

echo "pray for us sinners.";

break;

case "wednesday":

echo "ladies night, take her out for dinner";

break;

case "saturday":

echo "take care as you go out tonight.";

break;

default:

echo "have a nice day at work";

break;

}

?>

الإخراج:

ladies night, take her out for dinner

حلقات PHP

الحلقات هي هياكل تحكم تُكرر جزءًا من التعليمات البرمجية طالما بقي شرطٌ ما صحيحًا. تُغنيك عن كتابة نفس العبارة عدة مرات. يدعم PHP أربعة أنواع من الحلقات: for و while و do-while و foreach. لمزيد من التفاصيل، راجع القسم المخصص. برنامج تعليمي لحلقات PHP.

PHP للحلقة

تُستخدم حلقة التكرار "for" عندما تعرف مسبقًا عدد مرات تنفيذ الكود. فهي تجمع العداد والشرط والزيادة في سطر واحد.

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i;
}
?>

الإخراج:

01234

حلقة التكرار while في PHP

تُكرر حلقة while كتلةً برمجيةً طالما بقي شرطها صحيحًا. ويتم التحقق من الشرط قبل كل تكرار، لذا قد لا يتم تنفيذ الجزء الرئيسي من الحلقة.

<?php
$i = 0;
while ($i < 5) {
    echo $i;
    $i++;
}
?>

الإخراج:

01234

حلقة دو-وايل في لغة PHP

حلقة do-while تشبه حلقة while، لكنها تتحقق من الشرط بعد الجزء الرئيسي من الكود. وهذا يضمن تنفيذ الكتلة مرة واحدة على الأقل.

<?php
$i = 0;
do {
    echo $i;
    $i++;
} while ($i < 5);
?>

الإخراج:

01234

حلقة foreach في PHP

تم تصميم حلقة foreach للمصفوفات. فهي تمر على كل عنصر دون الحاجة إلى إدارة عداد الفهرس.

<?php
$colors = array("red", "green", "blue");
foreach ($colors as $color) {
    echo $color . " ";
}
?>

الإخراج:

red green blue

الأسئلة الشائعة

استخدم عبارة switch عند مقارنة متغير واحد بالعديد من القيم الثابتة، لأنها أسهل في القراءة من سلسلة if-else الطويلة. استخدم عبارة if-else للنطاقات، أو الشروط المعقدة، أو المقارنات التي تتضمن متغيرات مختلفة.

يوقف الأمر break الحلقة تمامًا وينتقل إلى الكود الذي يليها. أما الأمر continue فيتخطى ما تبقى من التكرار الحالي ويقفز إلى التكرار التالي، دون إنهاء الحلقة بالكامل.

تُعتبر match بديلاً حديثاً لـ switch تم تقديمه في PHP 8. وهي تُرجع قيمة، وتستخدم مقارنة صارمة، ولا تحتاج إلى عبارات break، وتُصدر خطأً إذا لم يتطابق أي ذراع، مما يجعلها أكثر أماناً وإيجازاً.

نعم. يمكن للذكاء الاصطناعي إعادة كتابة سلسلة if-else طويلة كـ switch مكافئ أو تعبير مطابقة PHP 8، احتفظping المنطق نفسه مع جعل الكود أقصر وأسهل للقراءة. اختبر النتيجة بعد ذلك.

نعم. يمكن للذكاء الاصطناعي فحص حالة الحلقة والعداد، واكتشاف الزيادة المفقودة أو الشرط الذي لا يصبح خاطئًا أبدًا، واقتراح الإصلاح بحيث تنتهي الحلقة كما هو مطلوب.

تلخيص هذه التدوينة بـ: