از حلقه ها در زمانی استفاده میشود که قصد داریم یک کار را برای تعداد مشخص تکرار و اجرا کنیم. بنابراین میتوانیم به جای تکرار کردن چندین باره آن، یکبار با دستور حلقه بنویسیم.
با استفاده از حلقه ها میتوانیم یک دستور را چندین بار تا زمانی که شرط درست یا true است تکرار کنیم.
در زبان php چهار حالت برای حلقه زدن و پیمایش وجود دارد:
- دستور while: بلاک این دستور تا زمانی اجرا میشود که دستور شرطی تعیین شده صحیح است.
- دستور do…while: این دستور یکبار بلاک کد شما را اجرا کرده سپس وارد شرط حلقه میشود.
- دستور for: در این دستور میتوانیم به تعداد عددی که مشخص میکنیم حلقه خود را اجرا کنیم.
- دستور foreach: از این نوع حلقه و دستور بیشتر در آرایه ها که دارای کلید و مقدار است استفاده میشود.
پیمایش آیتم ها با دستور while در php
این دستور بلاک کد شما را براساس شرط تعیین شده اجرا می کند و تا زمانی ادامه پیدا می کند که شرط درست است.
معنی خود واژه while یعنی (تا زمانی که) است.
نحوه نوشتن:
1 2 3 |
while (condition is true) { code to be executed; } |
توضیح:
ابتدا کلمه کلیدی while را نوشته و در پرانتز شرط خود را قرار میدهیم. حلقه تا زمانی که شرط true است ادامه پیدا میکند.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $x = 1; while($x <= 5) { echo "The number is: $x <br>"; $x++; } ?> /* The number is: 1 The number is: 2 The number is: 3 The number is: 4 The number is: 5 */ |
توضیح:
در ابتدا متغیر x مقدار ۱ را بعنوان مقدار اولیه در خود دارد.
در شرط بررسی شده که مقدار بزرگتر یا مساوی عدد ۵ می باشد یا خیر.در صورتی که کوچکتر باشد وارد بلاک می شود و مقدار The number is: $x را چاپ می کند.سپس مقدار متغیر x را یک واحد افزایش می دهد.
این حلقه تا زمانی که شرط true است ادامه پیدا می کند.
پیمایش آیتم ها با دستور do…while در php
با استفاده از این دستور می توان در مرحله نخست یک بلاک کد را اجرا کرد سپس با استفاده از شرط در نطر گرفته شده در داخل while دستور درون آن را اجرا کرد.دستور تا زمانی که شرط درست است اجرا خواهد شد.
نحوه نوشتن:
1 2 3 |
do { code to be executed; } while (condition is true); |
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $x = 1; do { echo "The number is: $x <br>"; $x++; } while ($x <= 5); ?> /* The number is: 1 The number is: 2 The number is: 3 The number is: 4 The number is: 5 */ |
توضیح:
در مثال بالا متغیری به نام x تعریف کرده ایم که دارای مقدار عددی ۱ است.
بعد از این دستور مقدار The number is: 1 نوشته شده است و سپس مقدار آن یک واحد افزایش یافته است.
برای حلقه بعدی در داخل دستور شرطی while بررسی شده که آیا x$ کمتر یا مساوی عدد ۵ است در صورتی که مقدار بازگشتی true باشد مقدار بلاک do چاپ میشود.
نکته ای که وجود دارد این است که بلاک do حتی اگر مقدار شرطش false باشد یکبار اجرا میشود.
مثال:
1 2 3 4 5 6 7 8 9 |
<?php $x = 6; do { echo "The number is: $x <br>"; $x++; } while ($x <= 5); ?> //The number is: 6 |
اجرای حلقه با دستور for در php
این دستور بلاک کد موردنظر را به تعداد مشخص شده تکرار میکند.
نحوه نوشتن:
1 2 3 |
for (init counter; test counter; increment counter) { code to be executed for each iteration; } |
پارامترها:
این دستور دارای ۳ پارامتر است که شامل:
- مقدار init counter: یک مقدار اولیه که جهت استفاده از آن در دستور شرطی است. معمولا مقدار آن را عدد ۱ قرار میدهند.
- مقدار test counter: یک دستور شرطی که یک مقدار true یا false را برگشت میدهد.
- مقدار increment: افزایش یا کاهش مقدار اولیه تنظیم شده که در هربار حلقه اتفاق می افتد.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php for ($x = 0; $x <= 5; $x++) { echo "The number is: $x <br>"; } ?> /* The number is: 0 The number is: 1 The number is: 2 The number is: 3 The number is: 4 The number is: 5 */ |
توضیح:
در این مثال مقدار اولیه با متغیر x تعریف شده است سپس در دستور شرطی بررسی شده که مقدار x از عدد ۵ کوچکتر یا مساوی عدد ۱۰ است یا خیر در صورت true بودن مقدار اولیه x یک مقدار افزایش پیدا میکند و مقدار درون بلاک اجرا میشود.
اجرای حلقه با دستور foreach در php
از دستور foreach بیشتر برای پیمایش آیتم های آرایه استفاده می شود.در این حالت به کلید و مقادیر هر یک از آیتم های آرایه دسترسی خواهید داشت.
نحوه نوشتن:
1 2 3 |
foreach ($array as $key=>$value) { code to be executed; } |
پارامترها:
این دستور دارای ۲ پارامتر است که شامل:
- مقدار array: آرایه موردنظر جهت پیمایش.
- مقدار value: در هربار پیمایش آرایه مقدار جاری آرایه را به متغیر value تخصیص می دهد. همچنین می توان با نوشتن متغیر key به کلید آیتم جاری دسترسی پیدا کنید.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $colors = array("red", "green", "blue", "yellow"); foreach ($colors as $value) { echo "$value <br>"; } ?> /* red green blue yellow */ |
1 2 3 4 5 6 7 8 9 10 11 |
<?php $age = array("amir javanmir"=>"29", "ali javadi"=>"37",); foreach($age as $x => $val) { echo "$x = $val<br>"; } ?> /* amir javanmir = 29 ali javadi = 37 */ |