العبارات الشرطية والحلقات

Spread the love
  العبارات الشرطية والحلقات  أضيف في: 8-8-1430هـ
الدرس الثالث PHP :
سنقوم في هذا الدرس بشرح ..
1 – الشروط ..
– العبارة الشرطية IF .
– العبارة الشرطية switch .

2 – الحلقات بأنواعها ..
– الحلقة for .
– الحلقة while .
– الحلقة do .. while .

————————–

نبدأ الشرح بعون الله ..

1 – الشروط : تسمح الشروط بتنفيذ كتل مختلفة من الشفرة تبعاً للظروف وقت التنفيذ .

– العبارة الشرطية IF : تظهر هذه العبارة بعدة أشكال ومن أسهل أشكالها :

PHP CODE:
0001
0002

<?php if (condition) statement;

?>

يمكن أن يكون الشرط (condition) أي تعبير يمكن تقييمه منطقياً ( صح أو خطأ ) أما العبارة
statement فلا تنفذ إلا إذا كان الشرط صحيحاً وعادة ما يتم إدراج العبارات
في شفرة داخل قوسين – {} – الأمر الذي يسهل القراءة ويسمح باستخدام عدة
عبارات لتنفذ استناداً لنتيجة شرط وحيد . مثال :

PHP CODE:
0001
0002
0003
0004

<?php if ($alebda3 = www.al-ebda3.info) {
echo "Welcome to AL-Ebda3 forums ...";
}

?>

كما يمكن استعمال العامل NOT (!) لتحديد ما يجب أن يحدث عندما يكون الشرط خاطئاً .

PHP CODE:
0001
0002
0003
0004

<?php if (!$alebda3 = www.al-ebda3.info) {
echo "You're in other forum ...";
}

?>

تقدم معظم لغات البرمجة بما فيها PHP احتمالاً بديلاً أفضل بكثير else . يمثل المثال التالي
مكافئاً أفضل للمثال السابق .

PHP CODE:
0001
0002
0003
0004
0005
0006

<?php if ($alebda3 = www.al-ebda3.info) {
echo "Welcome to AL-Ebda3 forums ...";
} else {
echo "You're in other forum ...";
}

?>

تستخدم العبارة elseif لاختبار شروط إضافية ويمكن لعبارة if واحدة أن تتضمن العديد من عبارات elseif بالقدر الذي تشاء لكن بإمكانية وجود عبارة else وحيدة إذ أنها تحدد ما يجب عمله إذا لم يكن أي من الشروط الأخرى صحيحة .

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010

<?php if ($alebda3 = www.al-ebda3.info) {
echo "Welcome to AL-Ebda3 forums ...";
} elseif ($alebda3 = www.alebda3.com) {
echo "Welcome to ALebda3.com";
} elseif ($alebda3 = www.alebda3.net) {
echo "Welcome to ALebda3.net";
} else {
echo "You're in other forum ...";
}

?>

تقدم PHP صيغة بديلة للعبارة if مثال :

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011

<?php
if ($alebda3 = "www.al-ebda3.info");
?>
<font size=7>Welcome to AL-Ebda3
<?php
elseif ($alebda3 = "www.ebda3.com");
?>
<font size=7>Welcome to Ebda3.com
<?php
endif;
?>

– العبارة الشرطية switch : تستخدم هذه العبارة لتقييم تعبير وحيد و الخروج بنتائج
عديدة محتملة تبعاً لقيمة التعبير :

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013

<?php switch (expression) {
case value1:
statements;
break;

case value2:
statements;
break;

default:
statements;
}

?>


تقوم العبارة switch في المثال التالي بتقييم المتحول Language$ ومن ثم تقارن قيمته مع
قيمة كل من بطاقات العبارة case وعندما تعثر على تطابق ما تقوم بتنفيذ شفرة العبارة الموافقة حتى تصل
إلى العبارة break أما إذا لم يكن هناك تطابق لأي من بطاقات case مع قيمة المتحول Language$
فسيتم تنفيذ الشفرة default الافتراضية :

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014

<?php switch ($Language) {
case "fr":
echo("French");
break;
case "es":
echo("Spanish");
break;
case "ar":
echo("Arabic");
break;
default :
echo("Language not recognized in system.");
}

?>



———————————–

2 – الحلقات : تسمح الحلقات بتنفيذ كتلة شفرة لعدد معين من المرات أو حتى تحقق شرط معين .
وتستخدم غالباً لمهام مثل الوصول إلى السجلات من استعلام قاعدة البيانات أو قراءة أسطر من ملف أو استعراض
عناصر مصفوفة يوجد أربعة أنواع للحلقات في PHP :

– الحلقة while : تعتبر هذه الحلقة أسهل عبارة من بين عبارات الحلقات فهي تختبر شرطاً وتنفذ
كتلة من العبارات بشكل متكرر طالما كان ذلك الشرط في بداية كل تكرار صحيحاً . وصيغتها :

PHP CODE:
0001
0002
0003
0004

<?php while (condition) {
statements
}

?>

تستخدم العبارة break لمقاطعة الحلقة وعند ملاقاة break يتوقف التكرار الحالي للحلقة ويتم
الخروج منها نهائياً :

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011

<?php echo("<select name="num_players">n);
$i = 0;

while (++$i <= $iMaxPlayers) {
if (! is_legal_val($i)) {
break;
}
echo("<option value="$i">$in");
}
echo("</select>n");

– الحلقة do … while : تشابه الحلقة while فيما عدا أنه يتم اختبار الشرط في نهاية
كل تكرار بدلاً من اختباره في البداية الأمر الذي يوافق أن الحلقة تنفذ دائماً مرة واحدة على الأقل . سيكون الصفر
في المثال التالي دائماً خياراً بغض النظر عن قيمة المتحول iMaxPlayers$ :

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009

<?php echo("<select name="num_players">n);
$i = 0;

do {
echo("<option value="$i">$in");
} while (++$i <= $iMaxPlayers);

echo("</select>n");


– الحلقة for : تختلف صيغة هذه الحلقة تماماً عن صيغة الحلقة while . ويكمن الفرق الأساسي
في التنظيم إذ تضع الحلقة for جميع التعابير التي تتحكم في تدفقها على السطر الأول :

PHP CODE:
0001
0002
0003
0004

<?php for (expression1; expression2; expression3) {
statements
}

?>



يتم تقييم expression1 قبل بداية الحلقة . ويستخدم عادة لبدء متحول التحكم بالحلقة . أما expression2 فيتم تقييمه في بداية كل تكرار للحلقة ، وهو يتصرف كتعبير شرطي أي إذا كان expression2 صحيحاً تستمر الحلقة . أما إذا كان خاطئاً فيتم قطع الحلقة . ويتم تقييم expression3 عند نهاية كل تكرار لذلك يعتبر مثالياً لزيادة أو إنقاص متحول التحكم بالحلقة .

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008

<?php echo("<select name="num_players">n);

for ($i = 0; $i = <= $iMaxPlayers; $i++) {
echo("<option value="$i">$in");
}

echo("</select>n");

هنالك صيغة بديلة للحلقات ….

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020

<?php
while ($i > 0);
?>

<li>Al-ebda3

<?php
end while;
?>
.. . . .

<?php
for ($i = 10; $i > $iMinScore; $i--);
?>

<li>Another Xhtml list item ...

<?php
endfor;
?>

وبهذا القدر نكون قد انتهينا من هذا الدرس لكم مني أطيب تحية .

عمار الرفاعي
الكاتب: عمار الرفاعي

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة