دورة PHP الجزء 5 23 من التعليقات

الكاتب: 31 مايو, 2009
الزيارات: 3,096

php course دورة 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.

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

comparison operators دورة PHP الجزء 5

 لو لاحظنا في كودنا السابق أننا كتبنا == , فمعناه إذا كان المبلغ 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.

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

وشكراً لكم.

  1. دورة PHP الجزء 3
  2. دورة PHP الجزء 2
  3. دورة PHP الجزء 4
  4. دورة PHP الجزء 1
  5. دورة XML: مقدّمة الجزء الأوّل

نبذة عن عبدالملك الثاري

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

    ،،

    بإذن الله ترون تطبيقي قريباً

    قيم التعليق: Thumb up 1 Thumb down 0

  2. 2.
    مزعبدالله يقول:

    الله يعطيك العافيه أخي عبدالملك

    مجهود تشكر عليه وجعله الله في موازين حسناتك

    لدي سؤالين

    1/ في الكود لمثال for
        echo($i . “”);

    ماذا تعني (&nbsp
    ????????????

    2/بالنسبة لحلقة foreach أتمنى أن يكون هنالك مثال أخر للتوضيح لاني مافهمت كيف ومتى استخدمها ؟؟؟

    بارك الله فيك

    قيم التعليق: Thumb up 0 Thumb down 0

  3. 3.
    م.عبدالله يقول:

    الله يعطيك العافية أخي عبدالملك
    وجعلها الله في ميزان حسنناتك

    لدي سؤالين

    1/في حلقة for
        echo($i . “”);
    ماذا تعني &nbsp
    ???????????????

    2/بالنسبة لحلقة foreach
    أتمنى أن تضع مثال أخر للتوضيح

    بصراحه مافهمت متى وكيفية استخدم هذه الدالة؟

    بارك الله فيك

    قيم التعليق: Thumb up 0 Thumb down 0

  4. شكراً لك أخوي عبدالله, الله لا يحرمنا من تشجيعك

    م.عبدالله حياك الله

    1/ تعني بلغة الـ XHTML مسافة لقد تم اخذها بالغلط عند كتابة الكود تم مسحها

    2/ حالياً بشكل مبدأي المثال الأول يوضح طريقتها البسيطه لكن سيتم بإذن الله التطرق لها بشكل موسع كما طرحت

    تقبل اطيب تحياتي لك

    قيم التعليق: Thumb up 0 Thumb down 0

  5. 5.
    يوسف العتيبي يقول:

    جزاك الله كل خير اخ عبد الملك

    بارك الله في مجهودك الطيب

    وبالتوفيق لك يارب

    قيم التعليق: Thumb up 1 Thumb down 0

  6. جزاك الله كل خير على الدرس الجميل ..

    وأهم شيء لا تفتر عزيمتك مع الوقت .. لان دروسك صراحة واضحة وبسيطة ومفهومة

    الله يعطيك العافية :)

    قيم التعليق: Thumb up 0 Thumb down 0

  7. الله يعطييك العاافية

    قيم التعليق: Thumb up 0 Thumb down 0

  8. 8.
    عبدالله الزهراني يقول:

    الله يعطيك الصحة والعافية عبدالملك ، جزآك الله خير وجعل مثوآك الجنة يارب

    أعتذر عن التطفل ، ومساعدتك في الاجابة عن بعض الاسئلة او توضيح بعض الاشياء

    ————————————-

    بخصوص العبارة الشرطية switch تحتوي في الاخير على حالة default وهي تعني الافتراضي
    يعني لو لم تتحقق القيم لــ i$ ولم تكن 1 أو 2 أو 3 فانها سوف تذهب الى القيمة الافتراضية وتنفذ الامر الموجود في default

    ————————————-

    بخصوص الأخ/الأخت اللي سأل عن foreach هنا التوضيح

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

    —–

    i$ عبارة عن مصفوفة تتكون من ثلاث قيم ، والحلقة foreach تقوم باخذ قيم المصفوفة واحد ورى الثاني حسب الترتيب وتسنده للقيمة value$ وتطبق عليه الاوامر بداخل الحلقة ، يعني في البداية بتاخذ قيمة المصفوفة الاولى اللي هي one وتسندها للمتغير value$ ويصبح

    value$ = one

    بعدين تدخل في الحلقة وتبدأ في تنفيذ الأوامر بداخلها مثل امر الطباعة اللي كتب echo $value . “”;

    بعدين ترجع وتاخذ القيمة الثانية للمصفوفة وتسندها لنفس المتغير وتنزل وتطبق عليه الاوامر وهكذا حتى تنتهي من عناصر المصفوفة 000000 (:

    قيم التعليق: Thumb up 0 Thumb down 0

    • .
      م.عبدالله يقول:

      الله يجزاك خير على التوضيح

      ولكن كيف تتم القراءة إذا كانت المصفوفه أكبر مثلا مكونه من ثلاث اعمده وثلاث صفوف؟؟؟؟

      بارك الله فيك

      قيم التعليق: Thumb up 0 Thumb down 0

  9. شكراً للجميع وألف شكر لك أخوي عبدالله على متابعتك وعلى مساعدتك الرائعة والتي اسعدني كثيراً بإضافتك الرائعة وهذا فعلاً ما اتمناه, بارك الله فيك ونفع بك

    وإذا كان هناك اي سؤال آخر نحن لها مثل ما يقولون مع الزميل عبدالله واي شخص فيشرفنا انضمامكم

    اطيب تحياتي

    قيم التعليق: Thumb up 0 Thumb down 0

  10. جزاك الله خير
    ممتنين لك

    قيم التعليق: Thumb up 0 Thumb down 0

  11. الله يجزاك كل الخير يا عبدالملك الثاري

    ومن يد ما نعدمها يارب

    تحيتي لك

    قيم التعليق: Thumb up 0 Thumb down 0

  12. السلام عليكم
    الله يعطيك العافيه
    الدروس جدا واضحه
    وإلى الأن بسيطه ومافي اي مشاكل
    جزاك الله خير

    قيم التعليق: Thumb up 0 Thumb down 0

  13. الله يجزاك خير …لحد الآآن تمام وبسيط
    لكن ممكن ..سؤال أعرف انو بدري لكن اعذرني على الفضول
    مثل ما الكل عارف انو صفحات النت مليانة أشكال رسومية وأزرار,,الخ
    طيب لحد هاللحظة ,,كيف ممكن أستخدم هالاشياءء بال php

    قيم التعليق: Thumb up 0 Thumb down 0

    • اخى الغالى لغة php تستخدم فى البرمجه وليس فى شكل ظهور الصور والنصوص فهذا يعود الى لغة HTML و CSS ولكن من الممكن استخدام PHP فى بعض استخدامات اخرى كالكتابة على الصور اثناء رفعها على السرفر وايضا تصغير الصور وغيرها من الخيارات التى توفرها PHP

      قيم التعليق: Thumb up 0 Thumb down 0

  14. 14.
    محمود الخطيب يقول:

    جزاك الله كل خير …

    دورة جميلة جدا ,,,

    وربنا يوفقك وتعملنا دروس أكتر من كدا :)

    قيم التعليق: Thumb up 0 Thumb down 0

  15. الف شكر لك اخوي
    صدق استفدنا من دروسك
    ننتظر الدروس الآتية

    قيم التعليق: Thumb up 0 Thumb down 0

  16. 16.
    ناصر الهاجري يقول:

    هالدرس يبي له مخمخه

    بس بعض الاوامر ماتعمقت فيها اهوي عبدالملك

    لان بصرحه هذي الاوامر جاتني بمادة لغات حاسب وكانت حايستني وكرهتها كره ماتتصوره

    المهم ياليت يالغالي تتعمق شوي وتشرح لنا كل امر ونتيجة الامر والخطوات الي يمر فيها

    تحياتي لك

    قيم التعليق: Thumb up 0 Thumb down 0

  17. لدي سؤال

    بالنسبة لحلقة foreach
    اذا كنت ابغى عدد محدد من المصفوفة يعني ابغى أول 10
    او بطريقة اخرى ابغى احدد عدد الدورات وليس الى النهاية

    قيم التعليق: Thumb up 0 Thumb down 0

  18. 18.
    Lebron James يقول:

    شكرا لك أخي العزيز عبد الملك

    ولكن متى سوف يتم وضع بقية الدروس ؟؟

    قيم التعليق: Thumb up 0 Thumb down 0

  19. بانتظار بقية الدروس

    قيم التعليق: Thumb up 0 Thumb down 0

  20. بانتظار البقية

    وجزاك الله خير

    قيم التعليق: Thumb up 1 Thumb down 0

  21. انا اصم موقع وعندي شغلتين حابه اعرف كيف اسويها
    الاولى كيف اسوي مستطيل كبير يحمل معلومات الصفحة ؟؟هل هي عن طريق جدول او عن طريق CSS
    والثانية كيف ابين مراحل عملية شراء لسلع

    صورة توضيحية على سؤالي

    http://www.alhnuf.com/up/pics-gif/upload/view_h.php?file=c3f6bc82c7

    قيم التعليق: Thumb up 0 Thumb down 0

تعقيبات من مواقع أخرى
  1. ملخص بتدوينات الأسبوع | عالم التقنية


المقالات في عالم التقنية تُعبّر عن رأي كاتبها ¦ © 2012 - جميع الحقوق محفوظة عالم التقنية ¦ تصميم و تطوير: عبدالملك الثاري ¦ تطوير : المُعاصر | الخوادم بإدارة ah