معلومات العضو
المشرفون
معلومات إضافية عدد المساهمات : 29
نقاط : 9057
تاريخ الميلاد : 18/11/1999
تاريخ التسجيل : 18/01/2012
العمر : 24
العمل/الترفيه : lj
المزاج : lll
معلومات الاتصال | موضوع: الدرس السادس :بدائيات لغة PHP الأحد أبريل 01, 2012 7:19 pm | |
| *التعابير الشرطية :Conditions -التعبير :If... Else إن العبارة if-else موجودة فى كل لغات الكومبيوتر. و هي عبارة شرطية , اي اذا تحقق الشرط المعين افعل كذا وكذا , واذا لم يتحقق افعل كذا وكذا ,ولأننا خلال البرمجة سنكونوا مضطرين لأظهار نتيجة ما حسب بعض االبيانات. أعطيكم مثال:اذا كان الصباح نحي العضو في موقعنا ب "صباح الخير" و اذا كان المساء نحييه ب "مساء الخير" وهكذا. هذا هو درس اليوم ، فالتعابير الشرطية تعد القاعدة الأساسية لأنشاء موقع ديناميكي بمعنى الكلمة, كأن تظهر أشياء مختلفة حسب المستخدم ,التوقيت ,تاريخ اليوم ...وعدة أشياء أخرى *فالصفحات التي تظهر للمشرفين هنا في المنتدى ليست هي نفسها التي تظهر للأعضاء *والصفحات التي تظهر اليوم ليست هي التي ستتظهر غدا أو بعد أو قبل (نعود لدرسنا)
ويأخذ منشأ العبارة الشرطية الصيغة العامة الآتية:
كود PHP:
if (condition) {
statements-1;
}
else {
statements-2;
}
حيث: · condition: تعبير علاقى أو منطقى (شرط) · statements-1: مجموعة العبارات التى تنفذ عن تحقق الشرط (النتيجة الأصلية) · statements-1: مجموعة العبارات التى تنفذ عن عدم تحقق الشرط (النتيجة البديلة)
ويجوز أن يستخدم المنشأ بصورة بسيطة ، وذلك بحذف النتيجة البديلة (الجزء else) من المنشأ ، كما يمكن أن تقتصر عبارات النتيجة على عبارة واحدة كالمثال التالى:
كود PHP:
<?
if ($age <= 12)
{
echo "Hello kid !";
}
?>
مع الامثلة سوف توضح الصورة , لنأخذ مثالا حيا على طريقة عمل هذه الدالة الشرطية , وسوف يصل اليك المعنى, تخيل ان لديك موقعا خاص فقط بالصغار , يمنع على الكبار تصفح الموقع وتقوم بطردهم اذا حاولوا الدخول ,أو العكس يمكن أن يكون موقعك خاص بالكبار فقط . هل انت مستعد؟ , افتح محرر الاكواد واكتب التالي :
كود PHP:
<?
$age = 8;
if ($age <= 12) // IF the age is lower or equal to 12
{
echo " Hello kid! Welcome on my site!<br />";
$autorisation_entrer = "Yes";
}
else // SINON
{
echo " This is a site for children, you are too old to be able to enter. Goodbye! ";
$autorisation_entrer = "No";
}
echo " Do you have the authorization to enter? The answer is: $autorisation_entrer";
?>
ارأيت السهولة ؟ لاحظ اننا استخدمنا عامل المقارنة ( =>) الذي تكلمنا عنه في دروس سابقة , هذا معناه هل الطرف الايسر أصغر من أو يساوي الطرف الايمن ؟ ولا تنسى أيضا ان عامل المقارنة ( ==) يختلف تماما عن العلامة ( = ) لوحدها , فالعلامه ( = ) معناها تعيين او تعبئة متغير بالقيمه الفلانية , ولكن ( == ) يستخدم لمقارنة الاطراف لنأخذ مثالا بطريقة اخرى , تخيل ان نود ان نترك الصغار ذوي السن 12 سنة فقط الدخول الى الموقع , فسوف يكون الكود بالشكل التالي :
كود PHP:
<?
$age = 8;
if ($age == 12) // IF the age is equal to 12
{
echo " Hello kid! Welcome on my site!<br />";
$autorisation_entrer = "Yes";
}
else // SINON
{
echo " This is a site for 12 year old children, you are not able to enter. Goodbye! ";
$autorisation_entrer = "No";
}
echo " Do you have the authorization to enter? The answer is: $autorisation_entrer";
?>
الى الان كل شيء واضح ؟
-العبارة الشرطية ELSEIF :
سنستغل المثال التطبيقي السابق وسأقدم لكم مثالا على هاته العبارة الشرطية ELSEIF حتى تتمكننوا من فهمها,قم بفتح محرر الاكواد واكتب التالي :
كود PHP:
<?
if ($autorisation_entrer == "Yes") //IF one has the authorization to enter
{
// instructions to be carried out when one is authorized to enter
}
elseif ($autorisation_entrer == "No") // ELSE IF one does not have the authorization to enter
{
// instructions to be carried out when one is not authorized to enter
}
else // ELSE (the variable contains neither Yes nor Not .)
{
echo "Euh, I do not know your age, you can remind it please to me?";
}
?>
صعبة شيئا ما أليس كذلك ؟ لكن الجديد هنا فقط هو الكلمة أو التعبير elseif وعند معالجة الكود PHP يكون على النحو التالي :
1-اذا كان $autorisation_entrer يساوي Yes ,تقوم بتنفيذ هذه التعابير 2-والا اذا كان $autorisation_entrer يساوي No ,تقوم بتنفيذ هذه التعابير 3-والا تعيد طلب عمر المستخدم حتى تتمكن من تحديد صلاحيته بالدخول
-الشروط المتعددة :
مايقصد بالشروط المتعددة هو أعطاء أو تمرير مجموعة من الشروط دفعة واحدة ولهذا تلزمنا تعابير أخرى أهمها : 1-AND الرمز المعادل : && 2-OR الرمز المعادل : || وكلا الكلمتين(التعبير أو الرمز المعادل) يستعملان في صياغة الشروط الا أني أنصحكم باستعمال التعابير الحرفية وترك الرموز نظرا لسهولة قراءتها حيث تسمح لكم وضع مجموعة من الشروط داخل القوسين تفضلوا هذا المثال :
كود PHP:
<?
if ($age <= 12 AND $sexe == "boy")
{
echo "Welcome on the site of Captain Mégakill!!";
}
elseif ($age <= 12 AND $sexe == "girl")
{
echo "It is not a site for the girls here, turns over to play Barbie!";
}
?>
مثال جد سهل ومفهوم أليس كذلك ؟ كل ما هنالك : -اذا كان عمر المستخدم أصغر أو يساوي 12 وجنسه ذكر نسمح له بالدخول الى الموقع -أما اذا كان عمر المستخدم أصغر أو يساوي 12 وجنسه أنثى ندعوها بكل لطف لتحويل الوجهة (فقط مثال فلا تنظرون الي بالتمييز ال.. )
والآن نعطي مثالا عن استعمال : OR
كود PHP:
<?
if ($sexe == "girl" OR $sexe == "boy")
{
echo "Hello everyone!";
}
else
{
echo "Euh, if are to you neither a girl nor a boy, be to you what then?";
}
?>
نستطيع ان نقوم بإستخدام ELSEIF بشكل لا نهائي , يعتمد على استخدامنا وما يتطلبه , ولكن ELSE فقط نستطيع ان نقوم استخدامها مرة واحدة لانها عامة.
ملاحظة: يمكن استخدام عبارة IF وداخلها IF وداخلها IF واترك لك الباب مفتوح لكي تقوم بإستكشاف ما اعنيه من هذه الملاحظة ( نفس الشيئ ينطبق على ELSEIF و ELSE )
-حالة Boolean :سأكف عن الكلام وأضع بين أيديكم أمثلة *المثال 1:
كود PHP:
<?
if ($autorisation_entrer == true)
{
echo "Welcome )";
}
elseif ($autorisation_entrer == false)
{
echo "Do not have you the right to enter!";
}
?>
المثال 2:
كود PHP:
<?
if ($autorisation_entrer )
{
echo "Welcome )";
}
else
{
echo "Do not have you the right to enter!";
}
?>
لاحظ وراقب المثالين جيدا سأدع لك الكلام مكاني هذه المرة
-التعبير :Switch
تعلمنا في الفقرة السابقة من الدرس العبارة الشرطيه IF وتوابعها والان سوف نتعلم العبارة SWITCH وهي تعمل بنفس طريقة العبارة IF ولكن يتم كتابتها بطريقة اخرى ويتم تنفيذ شرط واحد فقط اما في IF فيمكن كتابة عدة شروط , لنرى كيفية الكتابة :
كود PHP:
<?
switch (expression) {
case result1:
//execute this if expression results in result1
break;
case result2:
//execute this if expression results in result2
break;
Default :
//execute this if no result match statement
}
?>
سأعطيكم مثالين الأول أستعملت فيه تعابير If... Else والتاني switch لتروا الفرق بينهما: -المثال الأول :
كود PHP:
<?
if ($note == 0)
{
echo "Tu es vraiment un gros Zér0 !!!";
}
elseif ($note == 5)
{
echo "Tu es très mauvais";
}
elseif ($note == 7)
{
echo "Tu es mauvais";
}
elseif ($note == 10)
{
echo "Tu as pile poil la moyenne, c'est un peu juste...";
}
elseif ($note == 12)
{
echo "Tu es assez bon";
}
elseif ($note == 16)
{
echo "Tu te débrouilles très bien !";
}
elseif ($note == 20)
{
echo "Excellent travail, c'est parfait !";
}
else
{
echo "Désolé, je n'ai pas de message à afficher pour cette note";
}
?>
-المثال التاني :
كود PHP:
<?
$note = 10;
switch ($note) { // on indique sur quelle variable on travaille
case 0: // dans le cas où $note vaut 0
echo "Tu es vraiment un gros Zér0 !!!";
break;
case 5: // dans le cas où $note vaut 5
echo "Tu es très mauvais";
break;
case 7: // dans le cas où $note vaut 7
echo "Tu es mauvais";
break;
case 10: // etc etc
echo "Tu as pile poil la moyenne, c'est un peu juste...";
break;
case 12:
echo "Tu es assez bon";
break;
case 16:
echo "Tu te débrouilles très bien !";
break;
case 20:
echo "Excellent travail, c'est parfait !";
break;
default:
echo "Désolé, je n'ai pas de message à afficher pour cette note";
}
?>
لا أعير اهتماما بأي لغة تكتب الرسائل للمستخدم بقدر ما أسعى الى البحث عن أمثلة تقربنا أكثر من فهم الدروس لدا سامحوني فكل مرة أكتب بالعربية ومرة أخرى بالأنجليزية وأخرى بالفرنسية -أظن أن المثالين مفهومين أم أن هناك شيء غير مفهوم ؟ تذكروا أن عبارة break فهي جد مهمة ولايستغنى عليها داخل التعبير switch حتى ينفذ البرنامج بشكل أدق وفي وقت أقل :يعني عندما يصادف PHP عبارة break فيقصد بها :أخرج من switch ودعها عنك
|
|