recent
أخبار ساخنة

الحلقات Loops في PHP

الصفحة الرئيسية
الحلقات Loops في PHP

الحلقات التكرارية loops

الحلقة التكرارية ( loops ) في لغة php, مفهوم التكرار يعني loop في اللغة الإنجليزية و يستخدم اللوب في لغات البرمجة عامة لعدم تكرار كود برمجي أو أي شي نريده عدة مرات. عندما نريد تكرار كود عدة مرات فقط نقوم بوضعه ضمن حلقة التكرار. و نقوم بتنفيذه ووضع شروط حسب سير البرنامج الذي نعمل به. نقوم بإستخدام الحلقات في البرمجة لتسهل علينا عدم كتابة نفس الكود عدة مرات.

في حال أردنا إستخدامه لمرات عديدة نقوم بوضعه بداخل حلقة. و هي سوف تقوم بدوره في إعادة تكراره على حسب طلبنا. سوف نتحدث عن الحلقات التكرارية بإستخدام php, لا تختلف كثيراً عن اللغات الأُخرى, فقط الإشارات في php. من الممكن أن تدير تنفيذ برنامج بهياكل تحكم مختلفة و في هذا الدرس سنلقي نظرة على الحلقات Loop. يمكن إستخدام الحلقات لتكرار اجزاء من البرنامج بعدد من المرات أو إلى أن يتحقق شرط معين.

 

حلقة while loop في php

تسمح حلقة while في لغة PHP بتنفيذ مجموعة من التعليمات بشكل متكرر طالما تتحقق شرط معين. سيتم تنفيذ الكود داخل الحلقة ما لم يتم تحقيق الشرط المحدد، وعندئذٍ يتم الخروج من الحلقة وتنفيذ الكود الموجود بعدها.

تستخدم حلقة while loop في لغة php من أجل تكرار تنفيذ جملة معينة أو مجموعة من الجمل. ويتوقف هذا التكرار عند تنفيذ العدد المطلوب في الشرط.

الصيغة العامة لكتابة حلقة while في php هي:

while (condition) {
    statement
}

حيث تكون "condition" هي الشرط الذي يتم التحقق منه قبل تنفيذ الكود داخل الحلقة. إذا كان الشرط صحيحًا، سيتم تنفيذ الكود ومن ثم إعادة التحقق من الشرط مرة أخرى. إذا كان الشرط غير صحيح، سيتم الخروج من الحلقة وتنفيذ الكود الموجود بعدها في البرنامج.

قبل الشروع في اي شيئ هيا بنا نأخذ مثال بسيط حتى تفهم منطق عمل دالة while loop في php.

مثال

فيما يلي مثال بسيط يوضح كيفية استخدام حلقة while في PHP:

<?php
    $i = 1;
        while ($i <= 5) {
            echo "الرقم: " . $i . "<br>";
    $i++;
}?>

في هذا المثال، ستتم طباعة الأرقام من 1 إلى 5. يتم التحقق من الشرط $i <= 5 قبل تنفيذ كل تكرار من الحلقة. عندما يصبح العدد $i أكبر من 5، يتوقف التنفيذ ويستمر تنفيذ الكود بعد الحلقة.

يمكنك تغيير الشرط والكود داخل الحلقة وفقًا لاحتياجاتك الخاصة.

مثال

<?php
    while ($x <= 5){
        echo "<p>النص المراد تكراره</p>";
        $x = $x +1;
    }
?>

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

قمنا بإستخدام الدالة while و نقول لها إذا كان المتغير x اصغر او يساوي 5 يقوم بطباعة الجملة الموجودة في دالة الطبع. لكن إلى الآن المتغير x ليس له اي data او بيانات, لا يحفظ شيئ بداخل المتغير لذلك قلنا $x = $x +1;. وفي تلك الحالة سيزيد قيمة x في كل مرة 1 مع تكرار الجملة المذكورة بالأعلى. وسيتم تكرار الجملة 6 مرات ثم يتحقق الشرط وتقف loop وسيكون الناتج في السيرفر بالشكل.

النص المراد تكراره
النص المراد تكراره
النص المراد تكراره
النص المراد تكراره
النص المراد تكراره
النص المراد تكراره

حلقة for loop في php

تسمح حلقة for في لغة PHP بتنفيذ مجموعة من التعليمات بشكل متكرر وتحتوي على ثلاثة أجزاء رئيسية: التعريف الأولي للمتغير، الشرط، والتحديث. ستتم تنفيذ الكود داخل الحلقة بناءً على قيمة المتغير وشرطه وتحديثه في كل تكرار.

تستخدم حلقة for التكرارية لتكرار تنفيذ عملية محددة عدة مرات و تأخذ الصيغة الآتية.

for (initialization; condition; increment/decrement) {
    statement
}

  1. initialization: قيمة البدء للمتغير المستخدم في الحلقة.
  2. condition: الشرط الذي يتم التحقق منه قبل تنفيذ الكود في كل تكرار. إذا كان الشرط صحيحًا، يتم تنفيذ الكود. إذا كان الشرط غير صحيح، يتم الخروج من الحلقة.
  3. increment/decrement: التحديث الذي يتم تنفيذه في نهاية كل تكرار لتحديث قيمة المتغير.

فيما يلي مثال بسيط يوضح كيفية استخدام حلقة for في PHP:

مثال

<?php
    for ($i = 1; $i <= 5; $i++) {
        echo "الرقم: " . $i . "<br>";
    }
?>

في هذا المثال، ستتم طباعة الأرقام من 1 إلى 5. يتم تعريف المتغير $i بقيمة 1، ويتم التحقق من الشرط $i <= 5 قبل تنفيذ كل تكرار. بعد كل تكرار، يتم زيادة قيمة $i بواحد باستخدام التحديث $i++. عندما يصبح العدد $i أكبر من 5، يتوقف التنفيذ ويستمر تنفيذ الكود بعد الحلقة.

مثال

<?php
    for($x=0; $x <= 50; $x = $x + 5){
        echo "<p> variable $x is now = " .  $x . "</p>";
    }
?>

قمنا بعمل loops بإستخدام for وكما تحدثنا بالأعلى ان في الحلقات يتم تكرار جزء معين او شرط معين. ونحن هنا نقول لمفسر php هناك متغير بإسم x و هذا المتغير يحفظ من البيانات على العدد 0 و هذا هو الأمر 0 = x$. ثم نقول للمفسر إذا كانت x اصغر من او تساوي 50 وهذا هو الأمر 50 =>x$ ثم نقول للمفسر قم بزيادة حجم x كل مره 5 لحين يكتمل العدد الى 50. وهذا هو الكود 5 + x = $x$ معنى ذلك سيتم تصغير حجم loops لأننا قمنا بزيادة قيمة x كل مره 5 وليس واحد كما هو في المثال الذي قبل هذا. ثم قمنا بالطباعة, لآحظ الناتج في السيرفر.

variable 0 is now = 0
variable 5 is now = 5
variable 10 is now = 10
variable 15 is now = 15
variable 20 is now = 20
variable 25 is now = 25
variable 30 is now = 30
variable 35 is now = 35
variable 40 is now = 40
variable 45 is now = 45
variable 50 is now = 50

لاحظ كيف تزداد قيمة x كل مرة 5 .

مثال

<?php
    for ($x=1 ; $x <= 6 ; $x = $x + 1){
        echo "<h" . $x . "> heading level " . $x . "</h".$x.">";
    }
?>

هل تتذكر في html في درس العناوين, هناك وسم <h> هذا الوسم المسؤول في html عن heading. ونحن نعرف ان اكبر شيئ في العناوين هو <h1> واصغرها <h6> و في المثال السابق قمنا بإستخدام ذلك. حيث ان for ستقوم بعمل loops معين و شرط معين. قمنا في المثال السابق بإنشاء متغير x يحفظ من البيانات على العدد 1 و هذا هو الكود الخاص بذلك الامر 1 =  x$. ثم في كل تكرار نكتب عنوان على مستوى x اي h1 ثم h2 ثم h3 ......الخ.

حلقات التكرار المتداخلة Loops Nested

كمبدأ ليس هناك حد لكيفية استخدام الحلقات, فمثلاً يمكنك بسهولة ان تضع حلقات داخل حلقات وهكذا تنشئ العديد من التكرار. لكن احذر PHP تصبح بطيئة ومعقدة ويكبر حجم البرنامج.

تسمح لغة PHP بتضمين حلقات التكرار داخل بعضها البعض، وهذا يُعرف بـ "حلقات التكرار المتداخلة" أو "Nested Loops". يتم استخدام حلقات التكرار المتداخلة عندما نحتاج إلى تنفيذ حلقة داخل حلقة.

يمكنك استخدام الهيكل التالي لإنشاء حلقات التكرار المتداخلة في PHP:

<?php
for (initialization; condition; increment/decrement) {
    // الكود الخارجي
    for (initialization; condition; increment/decrement) {
    // الكود الداخلي
    }
    // الكود الخارجي المتبقي
}
?>

يمكنك استخدام أي نوع من حلقات التكرار (for، while، do-while) في التكرار المتداخل.

مثال

<?php
    for ($KaissarRed = 0; $KaissarRed <= 255; $KaissarRed = $KaissarRed + 30){
       for ($KaissarGreen = 0 ; $KaissarGreen <=255; $KaissarGreen = $KaissarGreen + 30){
          for ($KaissarBlue = 0; $KaissarBlue <= 255; $KaissarBlue = $KaissarBlue + 30){
                $strcolor = "rgb(" . $KaissarRed . "," . $KaissarGreen . "," . $KaissarBlue . ")";
                echo "<span style='color:" . $strcolor . "'>" . $strcolor ."<br>"."</span>";
           }
     }
}
?> 

قمنا بإنشاء ثلاث حلقات حيث تحتوي كل حلقة على شرط معين, كل الألوان اولها الأحمر و الأخضر و الأزرق. يمكنها ان تحمل قيمة ما بين 0 و 255 وهذا الرقم الذي تم تحديده في الشرط اي مركب من الألوان الثلاثة. لون بشكل (rgb(255,255,255 وسيتم زيادة كل متغير من المتغيرات التي تم تحديدها بمقدار 30.

فيما يلي مثال بسيط يوضح كيفية استخدام حلقات التكرار المتداخلة في PHP:

for ($i = 1; $i <= 3; $i++) {
    echo "الحلقة الخارجية: " . $i . "<br>";
    
    for ($j = 1; $j <= 2; $j++) {
        echo "الحلقة الداخلية: " . $j . "<br>";
    }
}

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

النتيجة المتوقعة:

الحلقة الخارجية: 1
الحلقة الداخلية: 1
الحلقة الداخلية: 2
الحلقة الخارجية: 2
الحلقة الداخلية: 1
الحلقة الداخلية: 2
الحلقة الخارجية: 3
الحلقة الداخلية: 1
الحلقة الداخلية: 2
google-playkhamsatmostaqltradent