بسم الله الرحمن الرحيم
تخيل ان لديك برنامج صغير , ولا تريد ان يتبع هذا الرنامج طريق واحد , نعني بذلك انه لدينا حالات في هذا البرنامج , وكل حاله لديها خواصها وتنفيذات معينه خاصه بها, لنضرب مثالا على ذلك لتسهيل الامر , لنرجع الى مثالنا الاول , تخيل ان لدينا بقاله صغيره, ولدينا انوع من العصيرات كل عصير له سعره المعين , وكل عصير لديه احجام مختلفه , هل نحتاج لان نضع كل عصير في برنامج ؟ وهل لو فعلنا ذلك سوف يعتبر الطريقة الامثل ؟ طبعا لا , لكن بمجرد عباره صغيره تسمى IF نستطيع فعل ذلك كله.....
بسم الله الرحمن الرحيم
- متطلبات قبل البدأ :
- مراجعة الدرس الثاني: المتغيرات والثوابت والمعاملات
- اهداف الدرس:
- الطباعه بالعباره ECHO
- العباره الشرطيه IF
- العباره الشرطيه ELSE
- العباره الشرطيه ELSEIF
- استخدامات العبارات الشرطيه مع المعاملات المنطقيه ومعاملات المقارنه
الطباعه بالعباره ECHO :
يوجد شبيه للعباره print وهي العباره echo وتقوم بنفس عمل العباره print تماما ولكن لسهولة لغة PHP , فهي تمكنك من اختيار اي طريقة تريد الطباعة بها الى المتصفح , لاحظ الامثله التي سوف تأتي بعد قليل ولاحظ اننا استخدمنا العباره echo بدل من العباره print ولكن كل منهما يؤدي نفس الغرض ولا يوجد اي اختلاف ابدا
العباره الشرطيه IF :
تخيل ان لديك برنامج صغير , ولا تريد ان يتبع هذا الرنامج طريق واحد , نعني بذلك انه لدينا حالات في هذا البرنامج , وكل حاله لديها خواصها وتنفيذات معينه خاصه بها, لنضرب مثالا على ذلك لتسهيل الامر , لنرجع الى مثالنا الاول , تخيل ان لدينا بقاله صغيره, ولدينا انوع من العصيرات كل عصير له سعره المعين , وكل عصير لديه احجام مختلفه , هل نحتاج لان نضع كل عصير في برنامج ؟ وهل لو فعلنا ذلك سوف يعتبر الطريقة الامثل ؟ طبعا لا , لكن بمجرد عباره صغيره تسمى IF نستطيع فعل ذلك كله , ولكي تقوم بإستيعاب ذلك بشكل صحيح ارجو منك قراء موضوع المتغيرات والثوابت لكي توضح الصوره. العباره IF هي عباره شرطيه , اي اذا تحقق الشرط المعين افعل كذا وكذا , واذا لم يتحقق افعل كذا وكذا , هذا هو درس اليوم واتمنى لك فرصه سعيده. مهلا , بقي الكثير , وبقي من المتعه طريق طويل , اكيد انك سألت كيف اقوم بكتابة العباره الشرطية , طريقة كتابتها كالتالي
مع الامثله سوف توضح الصوره , لنأخذ مثالا حيا على طريقة عمل هذه الداله الشرطيه , وسوف يصل اليك المعنى, تخيل ان لديك كما قلنا بقاله , ولديك منتجات غذائية وتريد ان تعرف هل اخذ المشتري ببسي ام لاو واذا اخذ المشتري ببسي سوف نعمل له تخفيض بمبلغ نصف ريال , هل انت مستعد؟ , افتح محرر الاكواد واكتب التالي :
<?php
$customer_choise = "pepsi"; // اختيار المشترى
$customer_price = 1; // السعر الأساسى
if ($customer_choise == "pepsi") // اذا كان اختيار المشترى فعلا بيبسى
{
//اذن اعطه تخفيض على سعر البيبسى
echo "الحساب بعد الخفيض"." ".($customer_price - 0.50)." "."جنيه";
}
?>
ارأيت السهوله ؟ لاحظ اننا استخدمنا عامل المقارنه ( == ) الذي تكلمنا عنه في الدرس السابق , هذا معناه هل الطرف الايمن يساوي الطرف الايسر ؟
لا تنسى انه يختلف تماما عن العلامه ( = ) لوحدها , فالعلامه ( = ) معناها تعيين او تعبئة متغير بالقيمه الفلانية , ولكن ( == ) يستخدم لمقارنة الاطراف
لنأخذ مثالا بطريقة اخرى , تخيل ان نود ان نعمل تخفيض 10 جنيه لكل مشتري قام بشراء بمبلغ اكثر من 100 جنيه ؟ فسوف يكون الكود بالشكل التالي
<?php
define ('DISCOUNT', 10); // قيمة التخفيض
define ('DISCOUNT_PRICE', 100); // القيمة التى يبدأ عندها التخفيض
$customer_choice = "علبة زيت"; // خيار المشترى
$price = 30; // السعر بدون تخفيضات
$qty = 5; // عدد السلعة
$total_price = $price * $qty; // الأجمالى, سعر السلعة, مضروب فى عدد السلعة
// هل المبلغ الكلى تعدى الـ 100 جنيه؟
if ($total_price > DISCOUNT_PRICE) // اذا كان الأجمالى اكبر من القيمة التى يبدأ عندها التخفيض
{
قم بنتفيذ التخفيض
echo "الحساب بعد التخفيض"." ".($total_price - DISCOUNT)." ". "جنيه";
// العلامات "" فى السطر السابق هى لترك مسافة بين الكلمات فقط
}
?>
الى الان كل شي واضح ؟ اذن تخيل لو كان التخفيض على علبة الزيت و يكون اجمالي السعر 100 جنيه ماذا سوف نفعل ؟ شاهد التالي
<?php
define ('DISCOUNT' , 10);
define ('DISCOUNT_PRICE', 100);
$customer_choice = "علبة زيت";
$price = 30;
$qty = 5;
$total_price = $price * $qty;
if ($total_price > DISCOUNT_PRICE && $customer_choice == "علبة زيت") // اذا اشترى المشترى سلعة الزيت وكان السعر الأجمالى اكثر او يساوى 100 جنيه, اذا نفذ التالى
{
echo "حسابك الكلى"." ".($total_price - DISCOUNT)." "."جنيه";
}
?>
هل وضحت الصوره كامله الان ؟ اعتقد ذلك

.

.
لاحظ انه لو لم يتم تحقق الشرط فلن يتم عمل شي , ولو جربت تشغيل الكود فلن يكون هناك مخرج على الشاشه لو لم يتحقق الشرط
العباره الشرطيه ELSE :
انتهينا من مسألة IF الشرطية , ولكن كل اللي قمنا بفعله محدود اليس كذلك ؟ نستطيع فقط التحكم في شيء واحد

, لكن لا تقلق يوجد لدينا العباره ELSE وتعني اذا تحقق هذا الشرط قم بعمل التالي , واذا لم يتحقق قم بعمل التالي , اليس ذلك صحيحا واحتماله كبير ؟ ولكن كيف يتم كتابته ؟ نفس الطريقة الاولى مع اضافة بعض الاسطر البرمجيه لاحظ طريقة الكتابه التاليه:
لنقم بتعديل كودنا الاول , انقوم بإخراجه بطريقة افضل من الاولى , اكتب في محرر الاكواد التالي :
<?php
$customer_choice = "Mrinda"; // السلعة
$price = 1; // السعر بدون تخفيض
// السطر التالى يعنى اذا لم يطلب المشترى السلعة
if ($customer_choice !="Mrinda")
{
echo "لم تقم بشراء المريندا لا يوجد تخفيض";
echo "<br>";
echo "حسابك"." ".($price)." "."جنيه";
}
else
{
//الحساب بعد التخفيض
echo "حسابك"." ".($price - 0.50)." "."جنيه";
}
?>
لاحظ ان المشتري عندما كان خياره ببسي , اجرينا التخفيض وغير ذلك لا نعمل له اي تخفيض
ولاحظ اننا استعملنا معامل المقارنه (( =! )) ويعني انه في حالة عدم طلب هذا النوع قم بالتالي .
العباره الشرطيه ELSEIF :
لنرجع الى تخيالاتنا وهي التي تقوم بكل النتائج , لو اردنا ان نجعل التخفيض في اكثر من جهة , مثلا لو قام المشتري بأختيار ببسي فله تخيض بالقيمه الفلانيه , ولو اشترى ميرندا فله تخيض بالقيمه الفلانيه واذا قام بشراء سفن اب فله التخفيض الفلاني , هل يمكننا عمل ذلك ؟ نعم عن طريق العباره ELSEIF واختلافها عن ELSE انه في ELSEIF يمكنك تحديد شرط ولكن ELSE عامه ولا يوجد بها شروط , تكون كتابتها كالتالي
قم بفتح محرر الاكواد واكتب التالي :
<?php
$customer_choice = "pepsi"; // السلعة
$price = 1; // سعر السلعة
if ($customer_choice = "pepsi")// اذا طلب المشترى سلعة البيبسى اذن نفذ الأمر التالى
{
//قم بعملية التخفيض
echo "حسابك"." ".($price - 0.75)." "."جنيه";
}
//السطر التالى يظهر اذا اختار المشترى شئ اخر غير البيبسى
elseif ($customer_choice = "Mrinda")
{
echo "حسابك"." ".($price - 0.50)." "."جنيه";
}
elseif ($customer_choice = "7up")
{
echo "حسابك"." ".($price - 0.25)." "."جنيه";
}
else
{
echo "حسابك"." ".$price." "."جنيه";
}
?>
نستطيع ان نقوم بإستخدام ELSEIF بشكل لا نهائي , يعتمد على استخدامنا وما يتطلبه , ولكن ELSE فقط نستطيع ان نقوم استخدامها مره واحده لانها عامه
(( لاحظ في مثالنا قمنا بإستخدام ELSEIF مرتان )) و العباره ELSE مره واحد فقط .
ملاحظه: يمكن استخدام عبارة IF وداخلها IF وداخلها IF واترك لك الباب مفتوح لكي تقوم بإستكشاف ما اعنيه من هذه الملاحظه
( نفس الشيئ ينطبق على ELSEIF و ELSE )
اسئـــلة على الدرس :
1. قم بتطوير بقالتنا الالكترونيه , بحيث انه اذا طلب المشتري مشروبات يكون له تخفيض معين على حسب المشروب الذي يقوم بشراءه ( ببسي , ميرندا , سفن اب ) , واذا قام بشراء غير ذلك فلا يوجد له تخفيض معين
( مساعده قم بإستخدام IF بداخلها IF وشروطها اللازمه )
الدرس القادم:
سوف نقوم في الدرس القادم بالتعلم على التكرار في لغة PHP بالتفصيل , انواعها وطريقة كتابتها , واستعمالها مع المعاملات المنطقيه و معاملات المقارنه
للأمانة منقول من شبكة غير مسموح بعرض الروابط الا بعد
التسجيل و
تفعيل العضوية