بخش چهارم: حلقهٔ for

۴-۱. تعریف

حلقهٔ for زمانی به کار میرود که تعداد تکرارها مشخص باشد. در این حلقه، سه بخش مقدار اولیه، شرط ادامه و تغییر مقدار در یک خط نوشته میشوند. به همین دلیل، حلقهٔ for کوتاهتر و خواناتر از while است.

۴-۲. ساختار

<?php
for (مقدار اولیه; شرط ادامه; تغییر مقدار) {
    // دستوراتی که باید تکرار شوند
}
?>

اجزای این ساختار:

  1. کلمهٔ کلیدی for
  2. سه بخش داخل پرانتز که با نقطهویرگول از هم جدا میشوند
  3. بدنهٔ حلقه داخل آکولاد { }

سه بخش داخل پرانتز:

بخش مثال وظیفه
مقدار اولیه $i = 1 مقدار شروع شمارنده را تعیین میکند
شرط ادامه $i <= 10 تا زمانی که درست باشد، حلقه ادامه مییابد
تغییر مقدار $i++ مقدار شمارنده را در هر تکرار تغییر میدهد

۴-۳. نحوهٔ اجرا

حلقهٔ for به ترتیب زیر کار میکند:

  1. بخش مقدار اولیه یک بار اجرا میشود.
  2. شرط ادامه بررسی میشود.
  3. اگر شرط درست باشد، بدنهٔ حلقه اجرا میشود.
  4. پس از اجرای بدنه، بخش تغییر مقدار اجرا میشود.
  5. دوباره شرط بررسی میشود و این روند ادامه مییابد.
  6. اگر شرط نادرست باشد، حلقه پایان مییابد.

۴-۴. مثال اول: چاپ اعداد ۱ تا ۱۰

<?php
for ($i = 1; $i <= 10; $i++) {
    echo $i . "<br>";
}
?>

خروجی:

1
2
3
4
5
6
7
8
9
10

توضیح اجرا:

  • ابتدا $i = 1 قرار میگیرد.
  • شرط $i <= 10 بررسی میشود. چون درست است، بدنه اجرا میشود.
  • سپس $i++ اجرا میشود و مقدار $i برابر ۲ میشود.
  • این روند تا زمانی ادامه مییابد که $i برابر ۱۱ شود. در این حالت شرط نادرست است و حلقه پایان مییابد.

۴-۵. مثال دوم: چاپ پنج بار سلام

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

خروجی:

سلام
سلام
سلام
سلام
سلام

۴-۶. مثال سوم: محاسبهٔ مجموع اعداد ۱ تا ۱۰

<?php
$sum = 0;

for ($i = 1; $i <= 10; $i++) {
    $sum = $sum + $i;
}

echo "مجموع اعداد ۱ تا ۱۰ برابر است با: " . $sum;
?>

خروجی:

مجموع اعداد ۱ تا ۱۰ برابر است با: 55

در این مثال:

  • متغیر $sum ابتدا صفر است.
  • در هر تکرار، مقدار $i به $sum اضافه میشود.
  • پس از پایان حلقه، مقدار نهایی $sum چاپ میشود.

۴-۷. مثال چهارم: چاپ اعداد زوج کمتر از ۲۰

<?php
for ($i = 2; $i < 20; $i = $i + 2) {
    echo $i . "<br>";
}
?>

در این مثال، شمارنده هر بار دو واحد افزایش مییابد. بنابراین فقط اعداد زوج چاپ میشوند.

۴-۸. مثال پنجم: چاپ اعداد بهصورت نزولی

<?php
for ($i = 10; $i >= 1; $i--) {
    echo $i . "<br>";
}
?>

خروجی:

10
9
8
7
6
5
4
3
2
1

در این مثال، شمارنده از ۱۰ شروع میشود و در هر تکرار یک واحد کاهش مییابد.

۴-۹. حلقهٔ بیپایان در for

اگر شرط حلقه هیچوقت نادرست نشود، حلقه بیپایان میشود. مثال زیر اشتباه است:

<?php
for ($i = 1; $i <= 5; $i--) {
    echo "سلام<br>";
}
?>

در این کد، مقدار $i بهجای افزایش، کاهش مییابد. بنابراین شرط $i <= 5 همیشه درست میماند و حلقه پایان نمییابد.

نکتهٔ مهم: جهت تغییر شمارنده باید با شرط حلقه هماهنگ باشد.

۴-۱۰. اشتباههای رایج

اشتباه نتیجه
فراموش کردن نقطهویرگول بین سه بخش خطای نحوی
نوشتن $i-- به جای $i++ در حلقهٔ صعودی حلقهٔ بیپایان
نوشتن شرط بهصورت $i < 10 به جای $i <= 10 چاپ نشدن عدد ۱۰
فراموش کردن تغییر مقدار حلقهٔ بیپایان
قرار دادن نقطهویرگول بعد از پرانتز for بدنهٔ حلقه اجرا نمیشود

۴-۱۱. مقایسهٔ for و while

ویژگی for while
تعداد تکرار معمولاً مشخص است ممکن است مشخص نباشد
محل نوشتن مقدار اولیه، شرط و تغییر همه در یک خط جدا از هم
خوانایی در تکرارهای شمارشی بیشتر کمتر
کاربرد اصلی شمارش و تکرار با تعداد مشخص تکرار تا رسیدن به یک شرط

۴-۱۲. فعالیت کلاسی

  1. با حلقهٔ for اعداد ۱ تا ۲۰ را چاپ کنید.
  2. با حلقهٔ for مجموع اعداد زوج بین ۱ تا ۲۰ را حساب کنید.
  3. با حلقهٔ for اعداد ۲۰ تا ۱ را بهصورت نزولی چاپ کنید.
  4. با حلقهٔ for جدول ضرب عدد ۵ را از ۱ تا ۱۰ چاپ کنید.

مطالعهٔ تکمیلی: در PHP میتوان در بخش‌های مختلف حلقهٔ for چند دستور را با کاما از هم جدا کرد. مثلاً for ($i = 1, $j = 10; $i <= 10; $i++, $j--). این موضوع برای دانشآموزان الزامی نیست و فقط برای آشنایی بیشتر بیان میشود.