recent
أخبار ساخنة

الشروط condition في لغة PHP

الشروط condition في لغة PHP


الشروط condition

الشروط ( condition ) تستخدم الشروط لتنفيذ اجزاء من البرنامج فقط عندما تستوفي المتطلبات. في الدرس السابق تحدثنا عن الحلقات, وكما قلنا في ذلك الدرس الحلقات يمكن إستخدامها لأجزاء معينة في البرنامج بعدد مرات محدد او إلى ان يتحقق الشرط. اليوم سوف نتحدث عن الشروط condition وكيف نأمر البرنامج بتنفيذ شرط معين.

 

العبارة الشرطية if

هي احد دوال php و تمكننا تلك الدالة من تنفيذ شرط condition معين في السورس كود أو البرنامج مع تحديد للبوك الخاص بها. نحن نعرف أن عالم البرمجة عبارة عن تنفيذ اكواد لحين يتم تنفيذ شرط condition وهو البرنامج. كمثال إذا كان العدد اكبر إطبع شيئ معين و إن كان ليس كذلك إطبع شيئ معين.

الشكل العام لعبارة if في php

if (condition){
    statement
}

حيث أن:

  • الشرط يمثل condition.
  • الأوامر التي يتم تنفيذها أو بيان الشرط statement.
<?php 
    $k = 2;
    if($k > 1){
        echo "<p> variable $k is greater than 1</p>";
    }
?>

قمنا بإنشاء متغير بإسم k يحفظ من البيانات على العدد 2 ثم قمنا بإستخدام if لتنفيذ شرط معين. إذا كانت k اكبر من 1 اطبع variable $k is greater than 1, اذاً سيتم طبع الشرط لأن k العدد التابع لها فعلاً اكبر من 1. البيانات التي تحفظها k هي 2 وسيتم طبعها على السيرفر variable 2 is greate than 1.

عند تشغيل الكود السابق سوف نحصل على النتيجة

variable 2 is greater than 1

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

 

العبارة الشرطية else

النوع الثاني من الشروط هو eles حيث يمكنك تنفيذ عكس الشرط. إذا كان الشرط يرجع false اي أن الشرط لم يتحقق وفي تلك الحالة يمكنك تحديد أشياء مُعينة داخل السورس كود او الشيفرة. كمثال إذا لم يتحقق الشرط الأول أو إذا كانت البيانات التي تحفظها k اصغر من 1 ويمكنك هنا إستخدام else.

الشكل العام لعبارة else في php

if (condition)
{
Statement
}
else
{
Statement
}

في البداية يكون if لتنفيذ الشرط, وبعدها يكون else عكس الشرط.

مثال 1

<?php 
    $k = 4;
    if ($k > 5){
        echo "<p>variable $k is greater than 1 </p>";
    }
    else
    {
        echo "sorry";
    }
?>

قُمنا بإنشاء متغير بإسم k يحفظ من البيانات العدد 4 ثم قمنا بإستخدام if لتنفيذ شرط معين. إذا كانت k اكبر من 5 إطبع قيمة المتغير و هي variable $k. إذاً سيتم طبع الشرط لأن k العدد التابع لها فعلاً اكبر من k و إذا كانت قيمة k أقل من الشرط. سيطبع لنا sorry و في هذا المثال سيطبع لنا sorry لأن قيمة k أقل من جملة الشرط.

sorry

مثال 2

<?php
    if(date("Y") == 2019){
        echo "<p>Now it's spring!</p>";
    }
    else{
        echo "<p>I do not know what season it is!</p>";
    }
?>

نقول هنا إذا كانت السنة الحالية هي 2019 يطبع لنا جملة Now it is spring من خلال الدالة date و تم شرح كيفية التعامل مع الوقت و التاريخ في الدرس الخامس. و هنا سوف يتم تنفيذ الشرط إذا كانت السنة الحالية 2019 ثم قُمنا بإستخدام else في حالة عدم تنفيذ الشرط إن لم تكن السنة الحالية هي 2019 يطبع لنا I do not Know what it is.

 

العوامل الرياضية operators

  1. علامة المساواة ( == ).
  2. علامة اللامساواة ( =! ).
  3. علامة أكبر من ( < ).
  4. علامة أصغر من ( > ).
  5. علامة أكبر من أو يساوي ( =< ).
  6. علامة اصغر من أو يساوي ( => ).

 

العوامل المنطقية Logical operators

  1. العامل (&&) يعني and.
  2. العامل (||) يعني or.
  3. العامل (!!) يعني النفي not.

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

<?php
    if(date("m") >= 3 && date("m") <= 6 ) {
        echo "<p> Now it's spring!</p>";
    }
    else{
        echo "<p> Now it's either winter, summer or autumn!</p>";
    }
?>

الشرط المحسن date("m") >= 3 && date("m") <= 5 يمكن أن يترجم بشكل أتوماتيكي, إن كان الشهر اكبر من أو يساوي 3 و الشهر اكبر من او يساوي 5. هذا الشرط ذكي, فالعوامل تلعب دور مهم في php. اليس كذلك لكن لا يزال الشرط ليس قوي دعونا نطور الشرط اكثر حتى يصبح باقي الشهور المذكورة في السنة.

<?php
        if(date("m") >= 3 && date("m") <= 5 ) {
            echo "<p> Now it's spring!</p>";
       }
        elseif(date("m") >= 6 && date("m") <= 8) {
            echo "<p> Now it's summer! </p>";
       }
        elseif (date("m")> = 9 && date("m") < = 11) {
            echo "<p>Now it's autumn! </p>";
        }
        else{
            echo "<p>Now is winter!</p>";
        }
?>

 

العبارة الشرطية elseif

بإستخدام دالة elseif المدمجة مع الدالة الرئيسية if يمكن تحديد مجموعة من الشروط. لتغطي باقي السنة في المثال السابق تم إستخدام تلك الدالة في الشرط الثاني.

elseif ((date("m") >= 6 && date("m") <= 8

اإذا كان الشهر اكبر أو يساوي 6 و الشهر اقل او يساوي 8 سيتم تنفيذ الشرط. وكذلك الأمر مع الشرط الثالث

elseif (date("m") >= 9 && date("m") <= 11

ويمكن ترجمة هذا ايضاً اذا كان الشهر اكبر او يساوي 9 و الشهر اقل او يساوي 11 سيتم تنفيذ الشرط مع إضافة else هكذا تم ذكر جميع شهور السنة, اظن الأمر واضح.

else{
echo "<p>Now is winter!</p>";
}

لكتابة الشروط عليك أن تفكر بشكل منطقي وتكون منهجياً. في جميع الأمثلة السابقة تم إنشاء مجموعة من الشروط من الوضع السهل إلى الوضع الصعب. وهناك طريقة اخرى لكتابة الشروط او دالة اخرى وهي switch case الصورة العامة لها.

switch (expression)
{
    case 1 :
      statement
      breack;

    case 2 :
      statement
      breack;

    default
      statement
      breack;
}

هذه الطريقة تعتمد على الشرط او expession ثم تضع قائمة بمختلف الأجوبة و القيم من خلال البيان او statements. وكي لا اُعقّد الأمور اكثر دائماً اقول الأمثلة هي افضل شيئ لتعليم التلميذ بشكل جيد. كما نعرف في درس التعامل مع الوقت و التاريخ php وظيفة ("date("w تعطينا رقم اليوم في الأسبوع, هيا بنا نستخدم ذلك في مثال.

<?php
    switch(date("w")
    {
        case 1 :
            echo "Now it's Monday";
            breack;
        case 2 :
            echo "Now it's Tuesday";
            breack;
        case 3 :
            echo "Now it's Wednesday";
            breack;
        case 4 :
            echo "Not it's Thursday";
            breack;
        case 5 :
            echo "Not it's Friday";
            breack;
        case 6 :
            echo "Not it's Saturday";
            breack;
        default :
            echo "Not it's Sunday";
            breack;
    } 
?>

لا تقلق عزيزي المتدرب الأمر ليس صعب يمكنك إستخدام switch عند تنفيذ مجموعة كبيرة من الشروط (( "switch(date("w. تم إجراء الشرط هنا و من خلال case يمكنك تحديد الشرط الذي تريده.

case 1 :
    echo "Now it's Monday";
breack;

اذا كان اليوم الأثنين ذلك الشرط يتحقق وسيتم وقف البرنامج. وكذلك الأمر مع أي case اخرى وظيفة case هي إنشاء الشروط التي تُريد تحقيقها, الشرط الثاني يتم بنفس الأجراء الذي تم عليه الشرط الأول.

يمكنك تشبيه هذا بالدوال الأخرى if and else and elseif تعمل switch مثل if وكذالك case تعمل مثل elseif وكذلك default. تعمل مثل else إذا كان الشرط لم يتحقق false بالإضافة إلى break وقف البرنامج بعد تنفيذ الشرط.

أخبرنا في التعليقات عن ماذا تعلمت في هذا الدرس, سوف نكون مسرورين بتعليقك و رأيك و نعرف ماذا تعلمت من الدرس

google-playkhamsatmostaqltradent