ط§ظ„ط¯ط±ط³ ط§ظ„ط«ط§ظ„ط« ظ…ظ† ط¯ظˆط±ط© Y4$$3R N3T - ط§ظ„طھط¹ظ„ظٹظ…ط§طھ ط§ظ„ط´ط±ط·ظٹط© if .. else




التعليمات الشرطية هي أساس ديناميكية لغة الـ php
ولها عدة أشكال...
شكلها الأساسي... إذا كان كذا قم بكذا وإلا قم بكذا...

برمجياً نفسه لكن باللغة الانكليزية






بدايةً ما هي الشروط التي نستطيع استخدامها؟؟
الشرط عبارة عن قيمتين أو متغيرين أو قيمة ومتغير بينهما رمز مقارنة

رموز المقارنة التي تستخدم في الشروط
== مقارن التساوي
!= مقارن عدم التساوي
> أكبر
>= أكبر أو يساوي
< أصغر
<= أصغر أو يساوي

وهناك المزيد لكن نكتفي بهذه فهي الأساسية ونتوسع مستقبلاً إن شاء الله
كل مقارن من هؤلاء يفحص القيمتين التين على يمينه ويساره تحققان وظيفة هذا المقارن أو لا... ويرد لنا القيمة true اذا كان المقارن محققاً و false إذا كان غير ذلك...

فمثلاً إذا كتبت


<?
print (5 == 5) ;
print (
6 < 5) ;

$y = 234;
print (
$y != 198) ;
?>




فإنه سيطبع كلمة true للتعليمة الأولى أي أن الشرط محقق
وكلمة false للتعليمة الثانية أي أن الشرط غير محقق
وكلمة true لتعيلمة print الثالثة أي أن الشرط محقق





لنقوم بإدخال شرط في تعليمة if فتصبح


<?
$var
= 9;
if(
$var == 9){
print
'نعم المتغير قيمته تساوي التسعة';
}
else{
print
'عفواً قيمة المتغير لا تساوي التسعة... إنها تساوي ' . $var;
}
?>




يتوضح في السطر الثاني الشرط وأين مكانه
وأين وضعنا التعليمات البرمجية التي ستتنفذ في حال تحقق الشرط وتلك التي تتنفذ في حال عدم تحقق الشرط
تحقق الشرط : هو حصول الشرط على قيمة true التي جرّبنا طباعتها قبل قليل...
وعدم تحققه هو حصول الشرك على قيمة false..


من الممكن أن تأخذ if أشكالاً أخرى وسنطرح فيها أمثلة


<?
$var
= 9;
if(
$var == 9){
print
'نعم المتغير قيمته تساوي التسعة';
}
elseif(
$var < 9){
print
'المتغير قيمته أصغر من التسعة';
}
else{
print
'عفواً قيمة المتغير لا تساوي التسعة وليست أصغر منها... إنها تساوي ' . $var;
}
?>






<?
$var
= 9;
if(
$var == 9){
print
'نعم المتغير قيمته تساوي التسعة';
}
?>




من الممكن أن نضع if ضمن if بحيث تتنفذ if الداخلية إذا تحقق شرط if الخارجية


<?
$var
= 8;
if(
$var == 9){

print
'نعم المتغير قيمته تساوي التسعة';

}
elseif(
$var < 9){

print
'المتغير قيمته أصغر من التسعة<br>';

if(
$var == 7){

print
'ومن الجيد أن قيمته تساوي السبعة';

}else{

print
'لكن قيمته لا تساوي السبعة';

}

}
?>




طبعاً الأشكال التي تأخذها if .. else لا تنتهي
فمن الممكن الاستغناء عن قسم else أو قسم elseif أو كليهما أو تكرار قسم elseif لعدد غير منتهي من المرات

ومن الممكن أن يتضمن أي قسم من التعليمة تعليمة if داخلية وبأي نوع كانت وحتى if الداخلية من الممكن أن تتضمن if داخلية أخرى ولعدد غير منتهي من المرات...

لكن يجب الأخذ بالعلم أن اي قسم ثاني من تعليمة if لا يتنفذ!!! إذا تنفذ القسم الأول حتى ولو كان شرط القسم الثاني محققاً

إذ أن مترجم الـ php يقرأ دالة if وينفذ أول قسم يقرأه تكون شروطه محققة ويهمل البقية...



ومن الممكن أن نضع أكثر من شرط واحد في تعليمة الـ if
ونجمع بين الشروط بكلمة AND أو كلمة OR

AND : تستخدم لفحص أن الشرط الذي قبلها والذي بعضها محققين كلاهما...
OR : تستخدم لفحص تحقق أحد الشرطين أو كلاهما

أو نختصر ونكتب && بدل AND
و || بدل OR




<?
$v1
= 4;
$v2 = 7;

if(
$v1 == 4 AND $v2==7 ){
print
'تم تحقق الشرطين';
}
elseif(
$v1 == 4 OR $v2==7 ){
print
'تحقق أحد الشرطين لكن لم يتحققا كلاهما لأنه وصل بالتنفيذ إلى هنا وهذا يعني أنه لم يحقق القسم الأول من تعليمة الإيف';
}
else{
print
'لم يتحقق اي من الشرطين';
}
?>





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



<?
$v1
= 4;
$v2 = 7;
$v3 = 5;

if(
$v1 == 4 && ( $v2==7 || $v3 == 5 ) ){
print
'أحد المتغيرات قيمته زوجية وواحد على الأقل من المتغيرات قيمته فردية';
}
?>




ومثال للتبسيط


<?
$v1
= 4;
$v2 = 7;

if(
$v1 == 4 && $v2 > 7 ){
print
'$v1 = 4 true....<br>$v2 > 7 true... Thanks!!..';
}
else{
if(
$v2 != 7){
print
'قيمة المتغير الثاني لا تساوي السبعة';
}
elseif(
$v1 == 4){
print
'قيمة المتغير الأول تساوي الأربعة وقيمة المتغير الثاني تساوي السبعة';
}
else{
print
'قيمة المتغير الثاني تساوي السبعة';
}
}
?>




أتمنى أنه لم يكن للتعقيد...


الآن لنأخذ مثالاً بسيطاً للتطبيق
من مثالنا الماضي للأخ بيكهام
افترضنا أن القيم المدخلة موجبة!!!... وقمنا بالبرمجة على أساسها





<?
$num1
=9;
$num2=5;
$op1=$num1*$num1;
$op2=(2*$num1*$num2);
$op3=$num2*$num2;
$op4=($op1-$op2+$op3);
print
&quot;استخدمنا الرقمين&quot;.$num1.&quot;و&quot;.$num2.&quot;<pr>&quot;;
print
&quot;وضعفي العدد الأول بالثاني&quot;.$op2.&quot;<pr>&quot;;
print
&quot;وكان الناتج&quot;.$op4.;
?>




نريد في هذا المثال بفرض استخدمنا قيم سالبة...
تحويلها إلى قيم موجبة...
واتمام عمل البرنامج بعد طباعة تنبيه يقول أنه قد تم تحويل القيمة الموجبة كذا إلى القيمة كذا
والقيمة كذا إلى القيمة كذا...

ننتظر ابداعكم....


لكن لا نريد فقط البرمجية...
نريد صورة أو اقتباس عن النتيجة...




-=-=-=-


أرجو ان وفقت بنقل هذا الدرس مفصل لكم

لأي سؤال عن هذه الدرس مفصل او اي استفسار أو لتقديم الوظيفة ان احببتم

يمكنكم زيارة الرابط التالي :

http://it.jamaa.cc/art246971.html


إلى اللقاء موعدنا في الدرس مفصل التالي

وهو الدرس مفصل الرابع

تحيــاتي









©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©