جلسه ۲۵: حلقه for در php

در این درس به مفهوم و پیاده سازی حلقه های for
و همچنین حلقه های for
تو در تو می پردازیم. سرفصل مباحث این جلسه به شرح زیر می باشد:
- حلقه
for
چیست؟syntax
- توضیحات
- مثال
- توضیحات
- حلقه های
for
تو در تو- مثال
- توضیحات
- مثال
حلقه for
چیست؟
از حلقه for برای انجام کاری به تعداد دفعات مشخص استفاده می شود. این حلقه مانند حلقه while
است با این تفاوت که افزایش شمارنده در شرط حلقه اتفاق می افتد.
Syntax
حلقه for
را به صورت زیر می نویسند:
توضیحات
- مقداردهی اولیه: در این قسمت، به متغیری که از آن برای کنترل حلقه استفاده می کنیم، مقدار اولیه می دهیم.
- شرط: حلقه فقط در صورتی اجرا می شود که شرط آن برقرار باشد.
- افزایش: در این قسمت مشخص می کنیم که پس از هر سری اجرای حلقه، متغیر باید به چه صورت تغییر کند.
مثال
در مثال زیر می توانید نحوه عملکرد حلقه for
را مشاهده کنید:
<?php
for ($i = 0;$i < 10;$i++)
{
echo "value of i is: $i\n";
}
?>
توضیحات
برای درک بهتر کد بالا به تصویر زیر مراجعه کنید: حلقه
for
چه کار هایی را انجام می دهد؟
- پیش از شروع اولین اجرای حلقه، مقدار
i
را برابر ۰ قرار می دهد. - سپس، (مانند یک حلقه while عادی) شرط حلقه را بررسی می کند که آیا مقدار
i
کوچتر از ۱۰ است یا خیر. - اگر شرط برقرار بود، برنامه اجرا شده و مقدار برگردانده شده توسط یک عبارت حسابی ساده (یعنی مقدار i ) را چاپ می کند.
- سپس مکان نمای ترمینال به خط بعدی منتقل می شود.
- پس از اتمام کار حلقه، یک بار دیگر باتوجه به بخش بروزرسانی مقدار
i
افزایش پیدا کرده و مقدار آن در بخش شرطی حلقه بررسی می شود.
بنابراین این حلقه به طور کلی، ۱۰ بار اجرا می شود و هر بار مقدار i
را چاپ می کند. شما الان شمردن را به برنامتون یاد دادید! متغیر مورد استفاده در حلقه های for
به طور معمول عدد صحیح ای است که i
، j
و یا k
نام گذاری می شود. حلقه موجود در مثال بالا را به صورت زیر نیز می توان نوشت:
<?php
$i = 0;
for (;$i < 10;$i++)
{ //initialization can also be done outside loop
echo "value of i is: $i\n";
}
?>
به همین منوال این قطعه کد را به صورت زیر نیز می توان نوشت:
<?php
$i = 0;
for (;$i < 10;)
{ //initialization can also be done outside loop. Note the semicolon is compulsory
echo "value of i is: $i \n";
$i++; //the increment of loop control variable can also be done separately
}
?>
حلقه های for
تو در تو
ما می توانیم حلقه های for
تو در تو بنویسیم. این کار به این معنی است که یک حلقه for
را در درون بدنه یک حلقه for
دیگر بیاوریم. نحوه نوشتن این نوع حلقه های تو در تو به شکل زیر است:
<?php
for (expression for initialization ; expression for testing ; expression for updating ) {
for (expression for initialization ; expression for testing ; expression for updating) {
//body
}
//body
}
?>
مثال
بیایید برای درک بهتر حلقه های for
تو در تو، مثالی بزنیم:
<?php
$input = 5;
echo "How many missiles will you fire?\n";
echo "I will fire: $input missiles\n";
for ($i = 0;$i < $input;$i++) { // outer for loop for ($j = 3;$j > 0;$j--)
{ // inner for loop
echo "$j ";
}
$temp = $i + 1;
echo "Missile $temp has launched.\n";
}
echo "All missiles have been launched.\n";
?>
توضیحات
در یک حلقه for
تو در تو، به ازای هر بار اجرا شدن حلقه بیرونی، حلقه درونی به میزان همه مقادیرش (یعنی تا انتهای حلقه داخلی) اجرا می شود. به طور مثال برای i
=0، حلقه درونی از j
=3 تا j
=1 اجرا می شود و پس از آن مقدار i
برابر ۱ می شود و حلقه درونی دوباره به اندازه تمام تکرار های مورد نیازش تکرار می شود و این کار تا زمانی که مقدار i
به حدی برسد که شرط حلقه برقرار نباشد و از حلقه خارج شویم، تکرار می شود. برای درک بهتر این موضوع به تصویر زیر نگاه کنید.
خیلی جالبه، نه؟ حالا که با مفهوم حلقه های for
و حلقه های for
تو در تو آشنا شدید، بیایید تا در بخش بعدی در مورد حلقه foreach
بحث کنیم.