بسم الله الرحمن الرحيم
تخيل ان
لديك برنامج صغير , ولا تريد ان يتبع هذا الرنامج طريق واحد , نعني بذلك
انه لدينا حالات في هذا البرنامج , وكل حاله لديها خواصها وتنفيذات معينه
خاصه بها, لنضرب مثالا على ذلك لتسهيل الامر , لنرجع الى مثالنا الاول ,
تخيل ان لدينا بقاله صغيره, ولدينا انوع من العصيرات كل عصير له سعره
المعين , وكل عصير لديه احجام مختلفه , هل نحتاج لان نضع كل عصير في برنامج
؟ وهل لو فعلنا ذلك سوف يعتبر الطريقة الامثل ؟ طبعا لا , لكن بمجرد عباره
صغيره تسمى IF نستطيع فعل ذلك كله.....
بسم الله الرحمن الرحيم
- متطلبات
قبل البدأ :
- مراجعة الدرس الثاني: المتغيرات والثوابت والمعاملات
</li>
اهداف الدرس:
الطباعه بالعباره ECHO
العباره
الشرطيه IF
العباره الشرطيه ELSE
العباره الشرطيه
ELSEIF
استخدامات العبارات الشرطيه مع المعاملات المنطقيه
ومعاملات المقارنه
</li>
الطباعه بالعباره ECHO : يوجد
شبيه للعباره print وهي العباره echo وتقوم بنفس عمل العباره print تماما
ولكن لسهولة لغة PHP , فهي تمكنك من اختيار اي طريقة تريد الطباعة بها الى
المتصفح , لاحظ الامثله التي سوف تأتي بعد قليل ولاحظ اننا استخدمنا
العباره echo بدل من العباره print ولكن كل منهما يؤدي نفس الغرض ولا يوجد
اي اختلاف ابدا
العباره الشرطيه
IF : تخيل ان لديك برنامج صغير , ولا تريد ان يتبع هذا
الرنامج طريق واحد , نعني بذلك انه لدينا حالات في هذا البرنامج , وكل حاله
لديها خواصها وتنفيذات معينه خاصه بها, لنضرب مثالا على ذلك لتسهيل الامر ,
لنرجع الى مثالنا الاول , تخيل ان لدينا بقاله صغيره, ولدينا انوع من
العصيرات كل عصير له سعره المعين , وكل عصير لديه احجام مختلفه , هل نحتاج
لان نضع كل عصير في برنامج ؟ وهل لو فعلنا ذلك سوف يعتبر الطريقة الامثل ؟
طبعا لا , لكن بمجرد عباره صغيره تسمى IF نستطيع فعل ذلك كله , ولكي تقوم
بإستيعاب ذلك بشكل صحيح ارجو منك قراء موضوع المتغيرات والثوابت لكي توضح
الصوره. العباره IF هي عباره شرطيه , اي اذا تحقق الشرط المعين افعل كذا
وكذا , واذا لم يتحقق افعل كذا وكذا , هذا هو درس اليوم واتمنى لك فرصه
سعيده. مهلا , بقي الكثير , وبقي من المتعه طريق طويل , اكيد انك سألت كيف
اقوم بكتابة العباره الشرطية , طريقة كتابتها كالتالي
مع الامثله سوف توضح الصوره , لنأخذ مثالا حيا على
طريقة عمل هذه الداله الشرطيه , وسوف يصل اليك المعنى, تخيل ان لديك كما
قلنا بقاله , ولديك منتجات غذائية وتريد ان تعرف هل اخذ المشتري ببسي ام
لاو واذا اخذ المشتري ببسي سوف نعمل له تخفيض بمبلغ نصف ريال , هل انت
مستعد؟ , افتح محرر الاكواد واكتب التالي :
PHP كود :
<?php
$customer_choise = "pepsi"; // اختيار المشترى
$customer_price = 1; // السعر الأساسى
if ($customer_choise == "pepsi") // اذا كان اختيار المشترى فعلا بيبسى
{
//اذن اعطه تخفيض على سعر البيبسى
echo "الحساب بعد الخفيض"." ".($customer_price - 0.50)." "."جنيه";
}
?> ارأيت السهوله ؟
لاحظ اننا استخدمنا عامل المقارنه ( == ) الذي تكلمنا عنه في الدرس السابق ,
هذا معناه هل الطرف الايمن يساوي الطرف الايسر ؟
لا تنسى انه يختلف تماما عن العلامه ( = )
لوحدها , فالعلامه ( = ) معناها تعيين او تعبئة متغير بالقيمه الفلانية ,
ولكن ( == ) يستخدم لمقارنة الاطراف لنأخذ مثالا بطريقة
اخرى , تخيل ان نود ان نعمل تخفيض 10 جنيه لكل مشتري قام بشراء بمبلغ اكثر
من 100 جنيه ؟ فسوف يكون الكود بالشكل التالي
PHP كود :
<?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 كود :
<?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 كود :
<?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 كود :
<?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 بالتفصيل ,
انواعها وطريقة كتابتها , واستعمالها مع المعاملات المنطقيه و معاملات
المقارنه
للأمانة منقول من شبكة
ارسن نت