المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس السادس: الشروط



المنصور بالله
30-04-2017, 04:32 PM
الدرس السادس: الشروط

الشروط تستخدم لتنفيذ أجزاء من البرنامج فقط عندما تستوفى متطلبات محددة مسبقاً، فمثلاً الشرط يمكن أن يكون تاريخ بعد الأول من يناير 2012 أو متغير أكبر من 7.

If...

أول نوع من الشروط سنلقي نظرة عليه هو if، وهو يكتب بهذا الشكل:


if (condition) {
statement
}


مرة أخرى، طريقة كتابة الأمر قريبة جداً من اللغة الطبيعية، إذا (If) تحقق شرط فنفذ كذا وكذا، لنلقي نظرة على مثال بسيط:


<html>

<head>
<title>Loops </title>
</head>
<body>

<?php

$x = 2;

if ($x > 1) {
echo "<p>variable $x is greater than 1 </p>";
}

?>

</body>
</html>


if ... else ...

النوع التالي من الشروط الذي سنلقي نظرة عليه هو else، وهو ما يمكن أن يكتب بهذا الشكل:


if (condition) {
statement
}
else {
statement
}


مرة أخرى، أسلوب كتابة الأمر قريب من اللغة الطبيعية: إذا (if) تحقق شرط نفذ كذا وكذا، وإلا else نفذ شيئاً آخر.

في الدرس الرابع تعلمت كيف تجد رقم الشهر، في المثال التالي سنستخدم رقم الشهر في حلقة if وelse والشرط وضعت لمعرفة الموسم:


<html>
<head>
<title>Conditions</title>
</head>
<body>

<?php

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

?>

</body>
</html>


شاهد المثال
كما ترى، الشرط ليس شرطاً ذكياً وفقط يعمل إن كان الشهر مارس!

على أي حال هناك كثير من الطرق لتحسين الشرط وزيادة دقته، أدناه قائمة العوامل (operators) التي يمكن استخدامها في الشروط:

== يساوي
< أقل من
> أكبر من
<= أقل من أو يساوي
>= أكبر من أو يساوي
!= لا يساوي

بالإضافة إلى ذلك هناك عوامل منطق:

&& و
|| أو
! لا

العوامل يمكن استخدامها لوضع شروط أكثر دقة، الآن يمكن توسيع المثال أعلاه لإدراج كل شهور الربيع:


<html>
<head>
<title>Conditions</title>

</head>
<body>

<?php

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

?>

</body>
</html>



لنلقي نظرة مقربة على الشرط المحسن::

date("m") >= 3 && date("m") <= 5

يمكن ترجمة الشرط إلى:


إن كان الشهر أكبر من أو يساوي 3، والشهر أقل من أو يساوي 5


شرط ذكي، أليس كذلك؟ العوامل تلعب دوراً مهماً في كثير من أجزاء PHP.

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

if ... elseif ... else...

باستخدام elseif يمكننا توسيع الشرط ليعمل على كافة الشهور:


<html>
<head>
<title>Conditions</title>

</head>
<body>

<?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>";
}

?>

</body>
</html>



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

switch ... case

هناك طريقة أخرى لكتاب الشروط باستخدام switch:


switch (expression) {

case 1:
statement
break;
case 2:
statement
break;
default:
statement
break;
}


هذه الطريقة تعتمد على الشرط أو expression ثم تضع قائمة بمختلف الأجوبة والقيم من خلال البيان أو statements، أسهل طريقة لشرح هذا الأمر هو من خلال مثال.

كما تتذكر في الدرس الرابع وظيفة date("w") تعطينا رقم اليوم في الأسبوع، هذا يمكن استخدامه في المثال بكتابة اسم اليوم بدلاً من رقمه:


<html>
<head>
<title>Conditions</title>
</head>
<body>

<?php

switch(date("w")) {

case 1:
echo "Now it's Monday";
break;
case 2:
echo "Now it's Tuesday";
break;
case 3:
echo "Now it's Wednesday";
break;
case 4:
echo "Now it's Thursday";
break;
case 5:
echo "Now it's Friday";
break;
case 6:
echo "Now it's Saturday";
break;
default:
echo "Now it's Sunday";
break;

}

?>

</body>
</html>


شاهد المثال

غالباً switch تستخدم كبديل لأمر if وelse، ما يجب عليك استخدامه في أي ظرف يعتمد على أي طريقة تجدها أسهل وأكثر منطقية، محاولة أن تجعل برنامجك منطقياً وواضحاً سيكون تحدياً كبيراً.

في الدرس التالي سنلقي نظرة على كيفية إضافة تعليقات لبرنامجك وكيف تعمل، التعليقات الجيدة يمكنها أن تكون ضرورية لشخص آخر عليه تغيير شيء ما في برنامجك في مرحلة لاحقة.

tafokt
03-05-2017, 10:19 PM
شكرا على المعلومات ولافادة

يسرا المرشدى
10-05-2017, 04:43 PM
شكرا على المعلومات والافادة

نجوان
26-05-2017, 01:29 AM
شكرا على الموضوع والافادات القيمة

ماهيتاب السويدى
28-05-2017, 10:39 AM
شكرا على المعلومات والافادة

nona
30-06-2017, 03:41 PM
شكرا على الموضوع والمعلومات المفيدة

رزقة
01-07-2017, 08:37 PM
شكرا على المعلومات والافادة

يمنة
02-07-2017, 09:07 PM
شكرا على المعلومات والافادة

لجين
04-07-2017, 02:21 AM
شكرا على الموضوع والافادات القيمة

تفوكت السوسية
16-07-2017, 12:37 PM
شكرا على الافادات القيمة وجزاكم الله كل خير

كريمة
18-08-2017, 02:27 AM
شكرا على الموضوع والافادة والمعلومات القيمة

ضحى
19-08-2017, 09:02 AM
شكرا على المعلومات والافادة

nadouche
21-08-2017, 09:18 PM
شكرا على المعلومات والافادة