في PHP من الممكن أن تدير تنفيذ البرامج بهياكل تحكم مختلفة، في هذا الدرس سنلقي نظرة على الحلقات (loop)، الحلقات يمكن استخدامها لتكرار أجزاء من البرنامج بعدد محدد من المرات أو إلى أن يتحقق شرط محدد.
while هي:
بناء الحلقة يمكن ترجمته إلى العربية: إفعل كذا بينما الشرط المحدد محقق.
لنلقي نظرة على مثال بسيط:
في المثال استخدمنا المتغير المسمى "$x"، كما ترى المتغيرات في PHP دائماً تبدأ برمز "$"، من السهل نسيان هذه النقطة في البداية لكن من الضروري تذكر ذلك وإلا لن يعمل البرنامج.
بعد هذه النقطة المثال يشرح نفسه تقريباً، في البداية المتغير $x أعطيناه القيمة 1، ثم الحلقة تسأل المزود أن أن يكرر النص ما دام أن $x أقل أو يساوي 50، في كل تكرار المتغير $x ستزداد قيمته بإضافة 1.
for بهذا الشكل:
البيان (statement) يكرر ما دام أن التهيئة (Initialization) والخطوة (step) يحققان الشرط (Condition)، إن لم تفهم هذا فانظر إلى المثال:
في المثال أعلاه المتغير $x يزداد بقيمة 5 في كل حلقة، التكرار سيستمر ما دام أن $x أقل من أو تساوي 50، لاحظ أيضاً أن القيمة $x تستخدم كجزء من الجملة.
هذا مثال آخر:
هل فهمت المثال؟ في البداية حددنا قيمة المتغير $x بالعدد واحد، ثم في كل تكرار نكتب عنواناً على مستوى $x أي (h1 ثم h2 ثم h3 ... إلخ) إلى أن تصبح قيم $x تساوي ستة.
لكن احذر! PHP تصبح بطيئة ومعقدة ويكبر حجم البرنامج ، ألقي نظرة على المثال التالي حيث باستخدام 3 حلقات يمكننا كتابة 16 مليون لوناً!
لكي لا نجعل الصفحة بطيئة قللنا العدد بأن جعلنا الخطوة محدودة بالرقم 30، وبالتالي قللنا عدد الألوان إلى 512.
في هذا المثال كل لون أولي (أحمر أخضر وأزرق) يمكنه أن يحمل قيمة ما بين 0 و255، أي مركب من الألوان الثلاثة يكون لوناً بشكل rgb(255,255,255)، رقم اللون يستخدم في وسم <span>.
الحلقات تصبح أكثر فائدة عندما تتعلم المزيد، عندما تفهم أساس الحلقات يمكنك أن تنتقل إلى الدرس التالي لنلقي نظرة على الشروط.
حلقات while
طريقة كتابة حلقةwhile (condition) { Statement }
لنلقي نظرة على مثال بسيط:
<html> <head> <title>Loops</title> </head> <body> <?php $x = 1; while ($x <= 50) { echo "<p>This text is repeated 50 times</p>"; $x = $x + 1; } ?> </body> </html>
بعد هذه النقطة المثال يشرح نفسه تقريباً، في البداية المتغير $x أعطيناه القيمة 1، ثم الحلقة تسأل المزود أن أن يكرر النص ما دام أن $x أقل أو يساوي 50، في كل تكرار المتغير $x ستزداد قيمته بإضافة 1.
حلقات for
هناك طريقة أخرى لاستخدام الحلقات وهذا من خلال الأمرfor (Initialization; Condition; Step) { Statement }
<html> <head> <title>Loops</title> </head> <body> <?php for ($x=0; $x<=50; $x=$x+5) { echo "<p>variable $x is now = " . $x . "</p>"; } ?> </body> </html>
هذا مثال آخر:
<html> <head> <title>Loops</title> </head> <body> <?php for ($x=1; $x<=6; $x=$x+1) { echo "<h" . $x . ">Heading level " . $x . "</h" . $x . ">"; } ?> </body> </html>
حلقات داخل حلقات
كمبدأ، ليس هناك حد لكيفية استخدام الحلقات، فمثلاً يمكنك بسهولة أن تضع حلقات داخل حلقات وهكذا تنشأ العديد من التكرار.لكن احذر! PHP تصبح بطيئة ومعقدة ويكبر حجم البرنامج ، ألقي نظرة على المثال التالي حيث باستخدام 3 حلقات يمكننا كتابة 16 مليون لوناً!
لكي لا نجعل الصفحة بطيئة قللنا العدد بأن جعلنا الخطوة محدودة بالرقم 30، وبالتالي قللنا عدد الألوان إلى 512.
<html> <head> <title>Loops </title> </head> <body> <?php for ($intRed=0; $intRed<=255; $intRed=$intRed+30) { for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) { for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) { $StrColor = "rgb(" . $intRed . "," . $intGreen . "," . $intBlue . ")"; echo "<span style='color:" . $StrColor . "'>" . $StrColor . "</span>"; } } } ?> </body> </html>
الحلقات تصبح أكثر فائدة عندما تتعلم المزيد، عندما تفهم أساس الحلقات يمكنك أن تنتقل إلى الدرس التالي لنلقي نظرة على الشروط.
0 التعليقات
إرسال تعليق
السلام عليكم ورحمة الله وبركاته ترحب مدونة lerentable بزوارها الكرام وتفسح المجال لتعليقاتهم بالنشر طالما هي تلتزم بالسلوكيات الصحيحة للإعلام الملتزم، ولا تخرج لحدود المساس القانوني بالاشخاص والجهات، وهي إذ تضمن النشر تشير إلى أن ما ينشر لا يعبر عن موقفها ورأيها بالضرورة
فلابد أن لديك ما تود كتابته.أرجوا منك أن تترك رأيك، انطباعك، استيائك، إعجابك، اقتراحك.ولا تهتم، قل ما يجول في عقلك حيال مدونتي والمواد المنشورة فيها ويسرني تقبل رأيك بصدر