دورة PHP الجزء 5

تابع دورة البي أتش بي من الدرس الأول حتى الرابع

في هذا الجزء سنتكلم عن:

أكواد التحكم (العبارات الشرطية, الحلقات)

كما تعلمنا سابقاً بعدما قمنا بتجهيز السيرفر الشخصي الافتراضي
تعلمنا كيف يمكننا إنشاء ملف PHP وحفظه بالصيغة .php وكتابة الأكواد داخل علامات الـ php

هنا العبارات الشرطية, والتي تتكون من if و if..else وswitch، والحلقات التي تتكون من while و do…while و for و foreach.. سنشرحها واحدة واحدة.

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

عندما تريد عمل أي شي أحياناً تقترن بالكلمة if والتي تعني باللغة العربية "إذا", فمثلاً "إذا" كانت السلعة التي أريد بيعها وصلت للحد الذي أطمح إليه وهو 200 ريال فأنا موافق, نقوم ببرمجة الجملة السابقة بالعبارة التالية:

<?
$ownerlimit = 200;
$buyerdeal = 150;

if($buyerdeal == $ownerlimit) {
   echo("OK");
}
?>

 النتيجة لا شيء، لن يتم طباعة OK، لأن 150 لا تساوي 200, ولكن لو تم تغيير 150 إلى 200 فسيتم طباعة OK.

نلاحظ أولاً أننا استخدمنا العلامة = وكررنها كالتالي == , نعم يجب ذلك في العبارات الشرطية دائماً تكون علامة المساواة مكررة == وهي من ضمن علامات عملية المقارنة, وإليك جدول العمليات داخل العبارات الشرطية:

 لو لاحظنا في كودنا السابق أننا كتبنا == , فمعناه إذا كان المبلغ 200 ريال (فقط) فأنا موافق، أي لو كان 300 ريال فأنا غير موافق! طبعاً ما فيه أحد ما يقول زيادة الخير خيرين، لذلك المفروض أننا نكتب "إذا كان المبلغ المطروح (يساوي أو أكبر من) 200 ريال، فالعلامة التي نود أن نضيفها الآن هي =< لكي يكون الكود البرمجي بشكل الصحيح الذي تم التخطيط له.

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

سنقوم الآن بتجربة if..else وهي بالضبط نفس if ولكن بزيادة else التي تعني "وإلا" فهي تكون عندما لا يتم تنفيذ العبارات الشرطية المدخلة, نطبق مباشرة:

<?
$ownerlimit = 200;
$buyerdeal = 150;

if($buyerdeal >= $ownerlimit) {
   echo("OK");
} else {
   echo("NO");
}
?>

 الكود واضح جداً كما تم شرحه قبل قليل, وهو كالتالي "إذا" 150 "أكبر من أو يساوي" 200 أطبع OK "وإلا" أطبع NO.

العبارة الشرطية if … elseif … else

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

<?
$ownerlimit = 200;
$buyerdeal = 150;

if($buyerdeal >= $ownerlimit) {
   echo("OK");
} elseif($buyerdeal == 0) {
   echo("WHAT?");
} else {
   echo("NO");
}
?>

 الآن اتضحت لنا الصورة بما يتعلق بالعبارات الشرطية (if) و (if … else) و (if … elseif … else)

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

سننتقل إلى العبارة الشرطية switch وهذا هو المثال الخاص بها:

<?
$i = 3;
switch ($i)
{
   case 1:
      echo "Num 1";
      break;
   case 2:
      echo "Num 2";
      break;
   case 3:
      echo "Num 3";
      break;
   default:
      echo "NOTHING";
}
?>

لنشرح الكود السابق, سيتم طباعة Num 3 لأن المتغير $i يساوي 3 هذه الطريقة جميله لعمل خيارات كثيرة.

الآن سننتقل إلى مرحلة الحلقات والتي تسمى Loops وهذا العملية توفر عليك عملية تكرار كبير فهي كالحلقة تقوم بتحديد عدد مرات الدوران

ومنها while و do … while و for و foreach

الحلقة while

كالتالي:

<?
$i = 0;
while($i<10) {
   echo($i . "<br />");
   $i++;
}
?>

 النتيجة ستكون كالتالي :

0

1

2

3

4

5

6

7

8

9

العملية واضحة جداً وللتوضيح <br/> هو وسم (سطر جديد) في لغة XHTML

الحلقة do …while

ننتقل إلى do … while وهي لتنفيذ الأمر أول مره مهما كان الظرف أو الحالة بعدها يقوم بالتأكد من أن الحالة تنطبق عليه.

<?
$i = 0;
do {
   echo($i . "<br />");
   $i++;
} while($i<10)
?>

النتيجة نفس نتيجة الكود السابق

الآن ننتقل إلى حلقات الـ for و foreche والتي تقوم بنفس العملية وهي تكرار عملية كحلقة ولكن بطريقة مختلفة ومبسطة

الحلقة for

for ($i=0; $i<10; $i++)
{
   echo($i . "<br />");
}

 حيث سيتم طباعة أيضاً من 0 إلى 9 أسطر تحت بعض, الاختلاف هنا أنه تم كتابة الأمر داخل الشرط مباشرة مع عملية الزيادة $i++

الحلقة foreach

هذه الحلقة هي التي تختلف قليلاً عن أخواتها فهي تعتمد على المصفوفات بشكل جميل ويجب الأخذ باعتبارها بشكل جيد لأن كثير من الأوامر في لغة البرمجة الـ PHP تنتج لنا مصفوفات يمكننا التعامل معها مثل عندما نجلب بيانات من قاعدة البيانات يتم جلبها في مصفوفة لعرضها بطريقة حلقية بالـ foreach.

<?
$i = array("one","two","three");
foreach ($i as $value)
{
   echo $value . "<br />";
}
?>

 النتيجة:
one
two
three

بإذن الله في الدروس القادمة سنتعلم كيفية الاتصال بقاعدة البيانات وجلب بيانات وتحديث وحذف البيانات أي جزء خاص بقاعدة البيانات و PHP.

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

وشكراً لكم.