حلقه ها در PHP

  1. بخش اول: مقدمه، مفهوم حلقه، اجزای حلقه و انواع آن در PHP
  2. بخش دوم: حلقهٔ while
  3. بخش سوم: حلقهٔ do...while
  4. بخش چهارم: حلقهٔ for
  5. بخش پنجم: حلقهٔ foreach و کار با آرایهها
  6. بخش ششم: حلقههای تودرتو، دستورات break و continue
  7. بخش هفتم: جمعبندی، تمرینها و پاسخنامه

بخش اول: مقدمه و مفاهیم پایه

۱-۱. حلقه چیست؟

حلقه دستوری است که به برنامه میگوید یک قطعه کد را چند بار تکرار کند. بدون حلقه، برای تکرار یک کار باید همان کد را چندین بار بنویسیم. این کار هم وقتگیر است و هم برنامه را طولانی و ناخوانا میکند.

مثال بدون حلقه:

<?php
echo "سلام<br>";
echo "سلام<br>";
echo "سلام<br>";
echo "سلام<br>";
echo "سلام<br>";
?>

همان مثال با حلقه:

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

خروجی هر دو کد یکسان است. اما کد دوم کوتاهتر، خواناتر و قابل تغییرتر است. اگر بخواهیم تعداد تکرار را از ۵ به ۱۰۰ تغییر دهیم، فقط یک عدد را عوض میکنیم.

۱-۲. اجزای یک حلقه

هر حلقه سه جزء اصلی دارد:

  1. مقدار اولیه: یک متغیر با مقدار شروع مشخص میشود. معمولاً نام این متغیر $i است.
  2. شرط ادامه: حلقه تا زمانی ادامه مییابد که این شرط درست (true) باشد.
  3. تغییر مقدار: در هر تکرار، مقدار متغیر شمارنده تغییر میکند تا شرط در نهایت نادرست شود و حلقه پایان یابد.

اگر جزء سوم فراموش شود، شرط همیشه درست میماند و حلقه هرگز تمام نمیشود. به این حالت حلقهٔ بیپایان میگویند. حلقهٔ بیپایان باعث کندی برنامه یا توقف کامل سرور میشود.

۱-۳. انواع حلقه در PHP

PHP چهار نوع حلقه دارد:

نوع حلقه کاربرد اصلی
while تکرار تا زمانی که شرط درست باشد؛ تعداد تکرار لزوماً مشخص نیست
do...while مانند while است، اما بدنهٔ حلقه حداقل یک بار اجرا میشود
for تکرار با تعداد مشخص و شمارنده
foreach پیمایش اعضای آرایهها

در بخشهای بعدی هر یک از این حلقهها با مثال آموزش داده میشود. حلقهٔ foreach همراه با آرایهها تدریس خواهد شد؛ زیرا کاربرد اصلی آن پیمایش آرایه است.

۱-۴. نکته دربارهٔ شمارش

در برنامهنویسی، شمارش معمولاً از صفر شروع میشود. مثلاً آرایهٔ سهعضوی خانههای ۰، ۱ و ۲ دارد. این موضوع را در بخش foreach بیشتر توضیح میدهیم.

مطالعهٔ تکمیلی: در PHP میتوان با تابع range() آرایهای از اعداد ساخت و سپس با foreach روی آن حرکت کرد. این موضوع اختیاری است و دانستن آن برای ادامهٔ درس الزامی نیست.