آشنایی با حلقه For در PHP

PHP   
26 آگوست 2014   

ساختار تکرار یا حلقه در زبان php و در صفحات وب بسیار زیاد مورد استفاده قرار می گیرند. حلقه for بیش از حلقه های دیگر مورد استفاده قرار می گیرد.

حلقه ها زمانی در برنامه به کار می روند که می خواهیم عملی را با کمی تغییر در دفعات زیاد یا کم تکرار کنیم. مثلا می خواهیم اعداد 1 تا 100 را چاپ کنیم یا اعداد زوج بین 50 و 200 را چاپ کنیم. و یا مثالی کاربردی که می خواهیم جدولی از داده ها را که از دیتابیس استخراج کرده ایم چاپ کنیم.

حلقه for زمانی در برنامه استفاده می شود که تعداد تکرار را از پیش بدانیم یا توسط متغیری داشته باشیم و شرط معلوم باشد.

ساختار حلقه for

حلقه for یک متغیر را به عنوان شمارنده دریافت می کند (اندیس). همچنین شرطی را دریافت می کند که تا زمانی که شرط برقرار باشد حلقه اجرا می شود. و در آخر شمارنده را در پایان هربار اجرای حلقه تغییر می دهد که مقدار تغییر را باید تعیین کرد. این مقدار معمولا 1 است. ساختار کلی آن به شکل زیر است:

 

همانطور که مشاهده می کنید سه عبارت مورد نیاز حلقه با کاراکتر نقطه ویرگول ( ; ) از یکدیگر جدا شده اند. همچنین دستورات جهت اجرای حلقه بین دو آکولاد باز و بسته { } قرار می گیرند. این دستورات نیز همچون دستورات شرطی if اگر تنها شامل یک خط باشند نیاز به آکولاد ندارند. به مثال زیر دقت کنید:

 

خروجی:

مثالی از کاربرد حلقه For در Php

در مثال بالا شمارنده i با مقدار اولیه 1 مقداردهی شده است. این حلقه تا زمانی ادامه می یابد که متغیر i کمتر از 6 باشد و چون این متغیر در هر بار اجرای حلقه 1 مقدار اضافه می شود این حلقه 5 بار اجرا می شود (دقت کنید که شرط تا زمانی ادامه می یابد که i کم تر از 6 باشد نه کمترمساوی).

این مثال به صورت زیر نیز می تواند تغییر کند اما در نتیجه تغییری حاصل نمی شود:

 

در این کد چون ما تنها یک خط دستور داریم الزامی برای استفاده از آکولاد نداریم.

همچنین شمارنده می تواند پرش بیش تری داشته باشد مثلا به جای این که در هربار اجرای حلقه یک مقدار به آن اضافه شود، دو مقدار به آن اضافه شود. کد ما در چنین حالتی به شکل زیر خواهد بود:

 

خروجی:

مثالی از کاربرد حلقه for در php

می بینید که اندیس حلقه در هربار اجرا به مقدار 2 واحد افزوده می شود؛ پس به جای این که مقدار متغیر i به صورت 1 2 3 4 5 باشد به صورت 1 3 5 خواهد بود و تنها مقادیر فرد را خواهد داشت.

مثال

می خواهیم اعداد زوج بین 1 تا 100 را چاپ کنیم. پس واضح است که اندیس ما در هربار اجرای حلقه باید باید 2 واحد افزوده شود اما شروع آن نباید از 1 باشد بلکه باید از 2 باشد زیرا می خواهیم اعداد زوج را چاپ کنیم و اگر شروع اندیس از 1 باشد اعداد فرد را چاپ خواهد کرد. پس کد ما به شکل زیر خواهد بود:

 

خروجی:

 

درباره ساختار حلقه foreach نیز در قسمت آرایه ها صحبت شده است.