تعلم لغة php – الدرس السادس الحلقات For loops

بالنسبة إلى الحلقات ، فإن الحلقات البسيطة هي التي تساعدنا على التكرار عبر متغير قابل للتكرار باستخدام index . هناك نوعان من الحلقات – حلقة بسيطة (نمط C) For loop وحلقة foreach.

For loop

بالنسبة إلى For loop ، تكون الحلقات مفيدة جدًا عندما نحتاج إلى التكرار عبر مصفوفة والرجوع إلى عضو الصفيف باستخدام index متغير. على سبيل المثال ، لنفترض أن لدينا قائمة بالأرقام الفردية. لطبعها ، نحتاج إلى الرجوع إلى كل عنصر على حدة. يمكن للكود الذي نكتبه في الحلقة for استخدام index i ، والذي يتغير في كل تكرار للحلقة for.

$odd_numbers = [1,3,5,7,9];
for ($i = 0; $i < count($odd_numbers); $i=$i+1) {
    $odd_number = $odd_numbers[$i];
    echo $odd_number . "\n";
}

يعرف السطر الأول من الحلقة عن 3 أجزاء:

The initialization statement  – في حالتنا ، نقوم بتهيئة متغير المكرر $ i إلى 0.
The condition statement – يتم تقييم هذه العبارة في كل حلقة. تتوقف الحلقة عند عدم تحقق هذا الشرط. سيحدث هذا عندما يكون متغير المكرر $ i أكبر من طول المصفوفة.
The increment statement – يتم تنفيذ هذه العبارة في كل تكرار لزيادة متغير index بالمبلغ المطلوب. عادة ، سنقوم بزيادة $ i بمقدار 1. هناك طريقتان أقصر لزيادة متغير بمقدار 1 أيضًا. يمكننا استخدام $ i + = 1 أو $ i ++ أيضًا.

حلقة Foreach

تتكرر حلقة foreach عبر عنصر قابل للتكرار مثل مصفوفة أو كائن ، مما يوفر الأعضاء في متغير محدد في كل مرة.

على سبيل المثال ، لنفترض أننا نريد إنشاء قائمة بجميع الأرقام الفردية بين 1 و 10 ، وطباعتها واحدة تلو الأخرى ، كما في المثال السابق. هذه المرة ، سوف نستخدم عبارة foreach بدلاً من العبارة العادية للحلقة مع متغير المكرر. بدلاً من استخدام متغير iterator كمؤشر للصفيف ، نحصل على العنصر من الصفيف مباشرة إلى المتغير $ odd_number.

$odd_numbers = [1,3,5,7,9];
foreach ($odd_numbers as $odd_number) {
  echo $odd_number . "\n";
}

عند التكرار فوق المصفوفات باستخدام المفاتيح ، يمكننا استخدام بناء الجملة التالي:

$phone_numbers = [
  "Ahmad" => "415-235-8573",
  "Hicham" => "415-492-4856",
];

foreach ($phone_numbers as $name => $number) {
  echo "$name's number is $number.\n";
}

تمرين

اطبع كل الأرقام داخل المصفوفة ، واحدًا تلو الآخر ، باستخدام \ n تسلسل أحرف سطر جديد للفصل بين النتائج.

<?php
$even_numbers = [2,4,6,8,10,12,14,16,18,20];

?>

الحل

<?php
$even_numbers = [2,4,6,8,10,12,14,16,18,20];
foreach ($even_numbers as $even_number) {
  echo $even_number . "\n";
}
?>

سنحصل على النتيجة التالية عند التشغيل

2
4
6
8
10
12
14
16
18
20

الدرس السابع






Leave a Reply