آموزش حلقه foreach در PHP – به زبان ساده با مثال و کد

۴۴ بازدید
آخرین به‌روزرسانی: ۷ مهر ۱۴۰۳
زمان مطالعه: ۱۴ دقیقه
آموزش حلقه foreach در PHP – به زبان ساده با مثال و کد

حلقه foreach یکی از ساختارهای مهم در زبان برنامه نویسی PHP است که پیمایش سریع و آسان بر روی مجموعه داده‌های مختلف را امکان‌پذیر می‌کند. این ساختار قدرتمند به دلیل سینتکس ساده خود خوانایی کد را بهبود می‌بخشد و نسبت به سایر حلقه‌های تکرار موجود احتمال بروز خطا را نیز کاهش می‌دهد. علاوه بر این، سرعت اجرا حلقه foreach نسبت به سایر حلقه‌ها در PHP بیشتر است. بر همین اساس با توجه به اهمیت و کاربردهای متعدد این ساختار در این مطلب از مجله فرادرس نحوه استفاده از حلقه foreach در PHP و چگونگی عملکرد آن را در قالب نمونه مثال‌های مختلف بررسی خواهیم کرد.

فهرست مطالب این نوشته
997696

علاوه بر این، ضمن بررسی سینتکس، کاربردها و مزایای استفاده از حلقه foreach در PHP سعی شده است تا مقایسه کاملی بین این ساختار و حلقه for نیز صورت گیرد. با مطالعه این مطلب نحوه کار با حلقه foreach را به‌طور کامل فرا خواهید گرفت و می‌توانید از این ساختار برای پیمایش عناصر آرایه یا اشیا استفاده کنید.

حلقه foreach در PHP چیست؟

عملکرد و چگونگی کار حلقه‌ foreach در PHP نسبت به سایر حلقه‌های موجود در این زبان متفاوت است. این نوع از حلقه‌ به طور خاص برای پیمایش عناصر موجود در یک آرایه یا شی مورد استفاده قرار می‌گیرد. با استفاده از این ساختار به سادگی می‌توان بدون نیاز به تعریف متغیر شمارنده حلقه به تمام عناصر موجود در یک آرایه یا شی دسترسی پیدا کرد.

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

حلقه foreach در PHP چگونه کار می کند؟

پیاده‌سازی حلقه foreach نسبت به سایر ساختارهای حلقه موجود در زبان PHP آسان‌تر است. قطعه کد زیر سینتکس پیاده‌سازی حلقه foreach در PHP را نشان می‌دهد.

1foreach ($array as $value) {
2	// Code to be executed
3}

در مثال بالا متغیر$array آرایه‌ای را نشان می‌دهد که قصد پیمایش عناصر موجود در آن را داریم. همچنین، عنصر فعلی آرایه در متغیر$value نگه‌داری می‌شود که در حین پیمایش عناصر می‌توان به مقدار آن دسترسی داشت. به زبان ساده در هر مرتبه اجرا حلقه foreach مقدار عنصر فعلی آرایه در متغیر$value نگه‌داری می‌شود.

برنامه‌نویس PHP در حال کار با لب تاپ و توسعه برنامه است - حلقه foreach در PHP

چرا از حلقه foreach در PHP استفاده می کنیم؟

مهم‌ترین دلیل استفاده از حلقه foreach سینتکس ساده آن است. با استفاده از این حلقه خاص به سادگی تنها با چند خط کد می‌توان تمام عناصر موجود در یک آرایه یا شی را پیمایش کرد.

بدون ساختار foreach باید از حلقه for برای پیمایش عناصر آرایه استفاده کرد. برای پیاده‌سازی حلقه for باید یک متغیر برای شمارنده حلقه تعریف و مقداردهی اولیه کنید. سپس، باید شرط اجرا حلقه و افزایش متغیر شمارنده را نیز به صورت دستی مدیریت کنید. در نتیجه، این پیچیدگی در پیاده‌سازی می‌تواند ساختار کد را پیچیده‌تر کند و احتمال بروز خطا را نیز افزایش دهد. برای آشنایی بیشتر با ساختار حلقه for در PHP می‌توانید مطلب زیر از مجله فرادرس را مطالعه کنید که لینک آن در ادامه آورده شده است.

مثالی از پیمایش عناصر آرایه با حلقه foreach در PHP

حلقه foreach ابزاری بسیار قدرتمند برای پیمایش عناصر آرایه‌ها یا اشیا است که رویکردی شهودی‌تر در هنگام کار با مجموعه داده‌ها ارائه می‌کند. استفاده از حلقه foreach کد را خواناتر و نگه‌داری آن را ساده‌تر می‌کند. برای درک بهتر این مطلب به مثال زیر توجه کنید.

1$fruits = array("Apple", "Banana", "Cherry");
2
3foreach ($fruits as $fruit) {
4    echo $fruit . "\n";
5}

در مثال بالا آرایه$fruits دارای ۳ عنصر با نام‌هایApple ،Banana وCherry است. حلقه foreach پیمایش را روی عناصر این آرایه انجام می‌دهد و در هر مرتبه از اجرا حلقه متغیر$fruit عنصر مورد نظر را در خروجی چاپ می‌کند. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.

Apple
Banana
Cherry

با استفاده از حلقه foreach در PHP به سادگی می‌توان عناصر موجود در آرایه را پردازش کرد و کدی بدون خطا و شهودی نوشت.

مزایای حلقه foreach در PHP؟

توسعه‌ دهندگان برای پیمایش آرایه‌ها و اشیا در زبان PHP با استفاده از ساختار حلقه چندین انتخاب پیشِ روی خود دارند. ساختار‌های حلقه تکرار در PHP به شرح زیر هستند.

  • حلقه for
  • حلقه while
  • حلقه foreach

با این حال حلقه foreach نسبت به سایر موارد بالا به چند دلیل برتری دارد و گزینه مناسب‌تری محسوب می‌شود.

۱.خوانایی و سهولت استفاده

حلقه‌های foreach برای پیمایش آرایه‌ها و اشیا ساختار ساده‌تری دارند و از خوانایی بیشتری نیز برخوردار هستند. این نوع حلقه‌ها دیگر نیازی به تعریف متغیر شمارنده حلقه یا بررسی شرط اجرا حلقه ندارند. در حالی که در ساختارهای حلقه for و while باید متغیر شمارنده حلقه و شرط اجرا حلقه را نوشت. برای این منظور مثال زیر آورده شده است که حلقه for را با حلقه foreach در PHP مقایسه می‌کند.

1// Using a for loop
2$fruits = array("Apple", "Banana", "Cherry");
3for($i = 0; $i < count($fruits); $i++) {
4	echo $fruits[$i] . "\n";
5}
6
7// Using a foreach loop
8$fruits = array("Apple", "Banana", "Cherry");
9foreach ($fruits as $fruit) {
10	echo $fruit . "\n";
11}

در مثال بالا حلقه foreach نسبت به for ساده‌تر و راحت‌تر خوانده می‌شود، زیرا این ساختار به طور مستقیم با عناصر آرایه سروکار دارد.

۲. عملکرد بهتر در آرایه‌های بزرگتر

از نظر عملکرد و سرعت اجرا تفاوت عملکرد چندانی بین ساختارهای for ،foreach و حلقه while در پیمایش آرایه‌های کوچک وجود ندارد. در نقطه مقابل، ساختار حلقه foreach برای پیمایش آرایه‌های بزرگتر و ساختارهای شی گزینه مناسب‌تری است و عملکرد سریع‌تری دارد. عملکرد سریع‌تر foreach نسبت به حلقه‌های دیگر نیز به این دلیل است که در این ساختار نیازی به ارزیابی شرط برای هر مرتبه تکرار حلقه مانند حلقه for و while وجود ندارد. برای یادگیری بیشتر در خصوص انواع آرایه‌ها در PHP می‌توانید فیلم آموزش رایگان آرایه‌ها در PHP فرادرس را مشاهده کنید که لینک آن در ادامه آورده شده است.

۳. ساختار تکرار ساده‌تر برای پیمایش آرایه‌های انجمنی

حلقه foreach گزینه مناسبی برای انجام پیمایش روی «آرایه‌های انجمنی» (associative arrays) است. این ساختار به توسعه‌دهندگان امکان می‌دهد بدون نیاز به نوشتن کد اضافی به هر دو فیلد کلید و مقدار دسترسی داشته باشند. قطعه کد زیر پیمایش یک آرایه انجمنی با استفاده حلقه foreach را نشان می‌دهد.

1$userInfo = array("name" => "John", "email" => "john@example.com");
2
3foreach ($userInfo as $key => $value) {
4	echo "$key: $value\n";
5}

در مثال بالا متغیر$userInfo یک آرایه انجمنی است که با استفاده از حلقه foreach به سادگی می‌توان به تمام فیلدهای کلید و مقدار موجود در آن دسترسی پیدا کرد.

۴. کنترل خودکار نشانگرهای آرایه

حلقه foreach در PHP به طور خودکار نشانگر آرایه را کنترل می‌کند. این مورد سبب می‌شود تا پیمایش از ابتدای آرایه شروع شده و تمامی عناصر موجود در آن پیمایش شوند. در نتیجه، احتمال بروز خطاهای ناشی از مدیریت دستی آرایه‌ها با توابعی همچونcurrent() ،next() وreset() به میزان قابل توجهی کاهش می‌یابد.

۵. خطای کمتر

با توجه به این که در حلقه foreach نیازی به تعریف متغیر شمارنده حلقه و کنترل دستی شرط اجرا حلقه وجود ندارد. در نتیجه، استفاده از این ساختار احتمال بروز خطاهای رایج همچون فراموش کردن به‌روزرسانی شمارنده حلقه یا سایر خطاهای معمول را کاهش می‌دهد. این مورد منجر به تولید کد قوی‌تر با قابلیت نگه‌داری بالاتر می‌شود.

تصویر صفحه نمایش لب تاپ که کدهای زبان PHP را نشان می‌دهد که این کدها نیز به حالت تار در آمده‌اند - حلقه foreach در PHP

چگونه زبان برنامه نویسی PHP را یاد بگیریم؟

PHP یکی از محبوب‌ترین و پرکاربردترین زبان‌های برنامه نویسی است که به شکل گسترده‌ای در طراحی و توسعه وب‌سایت‌های مختلف مورد استفاده قرار می‌گیرد. بنابراین، انتخاب این زبان برنامه نویسی برای مسیر شغلی گزینه بسیار خوبی محسوب می‌شود. صرف نظر از این که قصد یادگیری PHP برای توسعه مهارت‌های خود را دارید یا می‌خواهید به تازگی در این مسیر قدم بگذارید، در هر صورت، انتخاب منبع مناسب برای یادگیری یکی از مهم‌ترین نکاتی است که باید در نظر داشته باشید. انتخاب منبع مناسب از آن جهت حائز اهمیت است که به شما کمک می‌کند تا در کم‌ترین زمان و با صرف کم‌ترین هزینه بتوانید به اهداف خود دست یابید.

خوشبختانه امروزه برای یادگیری زبان برنامه نویسی PHP منابع متعددی همچون کتاب‌‌ها، مقالات و فیلم‌های آموزشی وجود دارد که می‌توانید از آن‌ها استفاده کنید. در این بین فیلم‌های آموزشی منبع مناسبی برای یادگیری محسوب می‌شوند، زیرا از یک سو هزینه‌های رایج آموزشی نظیر رفت‌وآمد به کلاس و موارد مرتبط با آن را کاهش می‌دهند و از سوی دیگر نیز امکان مشاهده چندباره محتوای آموزشی را نیز فراهم می‌کنند. مجموعه فرادرس به عنوان یکی از سازمان‌های پیشرو در صنعت آموزش آنلاین کشور فیلم‌های آموزشی متعددی را برای یادگیری مهارت‌های گوناگون از جمله برنامه نویسی PHP در اختیار علاقه‌مندان قرار داده است. به عنوان مثال، مجموعه فیلم‌های آموزش برنامه نویسی PHP فرادرس یکی از همین مجموعه‌های آموزشی است که لینک آن در ادامه آورده شده است.

مجموعه فیلم‌های آموزش‌ برنامه‌نویسی پی اچ پی PHP – مقدماتی تا پیشرفته فرادرس
برای دسترسی به مجموعه فیلم‌های آموزش برنامه‌نویسی PHP فرادرس، روی تصویر کلیک کنید.

برای یادگیری زبان برنامه نویسی PHP توصیه می‌شود که ابتدا مفاهیم و ساختارهای پایه موجود در این زبان را یاد بگیرید. سپس، می‌توانید با پیاده‌سازی پروژه‌های کوچک مفاهیم آموخته شده خود را در عمل نیز به کار گیرید و فرایند یادگیری خود را تکمیل کنید. برای داشتن یک نقشه راه‌ یادگیری می‌توانید دوره‌های پیشنهادی زیر را به ترتیب ارائه مشاهده کنید.

کاربردهای حلقه foreach در PHP چیست؟

حلقه foreach در PHP به منظور پیمایش روی آرایه‌ها و اشیا کاربرد دارد. این ساختار راهی آسان برای دسترسی به عناصر موجود در آرایه بدون نیاز به مدیریت شمارنده حلقه را فراهم می‌کند. تا به اینجا نحوه پیمایش عناصر موجود در آرایه توسط حلقه foreach را بررسی کرده‌ایم، اما این ساختار انعطاف‌پذیری بالایی دارد و می‌توان سناریوهای مختلفی را توسط آن پیاده‌سازی کرد.

برنامه‌نویس در حال کدنویسی با لپ تاپش است که نشانه حلقه تکرار نیز در مرکز صفحه نمایش لپ تاپ دیده می شود - حلقه foreach در PHP

در ادامه این بخش به بررسی کاربردهای مختلف حلقه foreach در PHP خواهیم پرداخت.

پیمایش عناصر آرایه

پیمایش عناصر موجود در یک آرایه ابتدایی‌ترین کاربرد حلقه foreach است. قطعه کد زیر نحوه پیمایش عناصر موجود در یک آرایه ساده با استفاده از این ساختار را نشان می‌دهد.

1$fruits = array("Apple", "Banana", "Cherry");
2
3foreach ($fruits as $fruit) {
4	echo $fruit . "\n";
5}

این کاربرد حلقه foreach برای پردازش جداگانه عناصر موجود در یک آرایه گزینه بسیار خوبی است. پیاده‌سازی این حلقه تمیز، مختصر و کاملاً قابل درک است.

مدیریت جفت‌های کلید و مقدار

گاهی اوقات توسعه‌دهندگان نیاز دارند تا به هر دو فیلد کلید و مقدار از عناصر موجود در یک آرایه انجمنی دسترسی داشته باشند. برای پیاده‌سازی چنین سناریویی می‌توان از حلقه foreach در PHP استفاده کرد. این ساختار به توسعه‌دهندگان این امکان را می‌دهد تا به هر دو فیلد کلید و مقدار از یک آرایه انجمنی دسترسی داشته باشند. قطعه کد زیر نحوه مدیریت کلید و مقدار مربوط به عناصر آرایه با استفاده از ساختار foreach را نشان می‌دهد.

1$fruits = array("a" => "Apple", "b" => "Banana", "c" => "Cherry");
2
3foreach ($fruits as $key => $value) {
4	echo "Key: $key, Value: $value\n";
5}

هنگام کار با آرایه‌های انجمنی دسترسی به هر دو فیلد کلید و مقدار برای انجام کارهایی همچون ایجاد عناصر HTML، پردازش داده‌های فرم و مدیریت تنظیمات پیکربندی ضروری است.

کار با آرایه‌های چندبعدی

با استفاده از حلقه foreach می‌توان آرایه‌های چندبعدی را نیز مدیریت کرد. آرایه‌های چندبعدی در ساختار داده‌های پیچیده نظیر پاسخ دریافتی از API، داده‌های تودرتو پایگاه داده و مجموعه اطلاعات گروه‌بندی شده کاربرد دارند. قطعه کد زیر نحوه پیمایش یک آرایه چندبعدی با استفاده از حلقه foreach در PHP را نشان می‌دهد.

1$fruits = array(
2	"summer" => array("Mango", "Cherry"),
3	"winter" => array("Apple", "Banana"),
4);
5
6foreach ($fruits as $season => $fruitList) {
7	echo "$season:\n";
8	foreach ($fruitList as $fruit) {
9    	echo "- $fruit\n";
10	}
11}

حلقه foreach دسترسی و دستکاری آرایه‌های تودرتو را بسیار آسان می‌کند.

پیمایش عناصر اشیا

با استفاده از حلقه foreach می‌توان عناصر موجود در یک شی را نیز پیمایش کرد. در نتیجه، این ساختار گزینه مناسبی برای «برنامه نویسی شی‌گرا» (Object-Oriented Programming) محسوب می‌شود. قطعه کد زیر نحوه پیمایش عناصر موجود در یک شی را با استفاده از حلقه foreach در PHP نشان می‌دهد.

1class Fruit {
2	public $name;
3	public $color;
4
5	public function __construct($name, $color) {
6    	$this->name = $name;
7    	$this->color = $color;
8	}
9}
10
11$apple = new Fruit("Apple", "Red");
12$banana = new Fruit("Banana", "Yellow");
13
14$fruits = array($apple, $banana);
15
16foreach ($fruits as $fruit) {
17	echo "Name: " . $fruit->name . ", Color: " . $fruit->color . "\n";
18}

پیمایش بر روی اشیا یکی از متداول‌ترین کارها در برنامه نویسی شی‌گرا است. با استفاده از ساختار foreach به سادگی می‌توان هر شی موجود در یک مجموعه را پردازش کرد و به فیلدها و متدهای موجود در آن دسترسی پیدا کرد.

تغییر عناصر آرایه

یکی دیگر از کاربردهای متداول حلقه foreach استفاده از آن برای تغییر و اصلاح عناصر آرایه است. مثال زیر نحوه استفاده از حلقه foreach برای این منظور را نشان می‌دهد.

1$fruits = array("Apple", "Banana", "Cherry");
2
3foreach ($fruits as &$fruit) {
4	$fruit = strtoupper($fruit);
5}
6
7print_r($fruits);

در قطعه کد بالا پیمایش عناصر موجود در آرایه$fruits توسط حلقه foreach صورت گرفته است. با استفاده از تابعstrtoupper کاراکترهای تشکیل دهنده هر کدام از عناصر موجود در آرایه به حروف بزرگ تغییر پیدا کرده است. خروجی حاصل از اجرا قطعه کد بالا به صورت زیر خواهد بود.

Array
(
	[0] => APPLE
	[1] => BANANA
	[2] => CHERRY
)

تغییر عناصر آرایه برای انجام کارهایی همچون تبدیل رشته‌ها به حروف بزرگ، به‌روزرسانی و تبدیل مقادیر بر اساس شرایط خاص مفید است.

چگونه حلقه foreach در PHP را مدیریت کنیم؟

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

خوشبختانه زبان برنامه نویسی PHP راهکارهای مختلفی برای کنترل جریان حلقه در اختیار توسعه‌دهندگان قرار داده است. در زبان PHP دو روش برای کنترل جریان حلقه وجود دارد که عبارتنداز:

  • دستور Break
  • دستور Continue

بر همین اساس در ادامه این بخش از نوشته نحوه کنترل جریان حلقه foreach در PHP با استفاده از هر کدام از دستورهای بالا توضیح داده خواهد شد.

تصویری رنگارنگ از کدهای php

چگونه از دستور Break در PHP استفاده کنیم؟

دستور Break در PHP به توسعه‌دهندگان امکان می‌دهد تا قبل از پیمایش تمام عناصر از حلقه خارج شوند. استفاده از این دستور زمانی مفید است که نتیجه مورد نظر پیدا شده و نیازی به بررسی سایر عناصر آرایه وجود ندارد. قطعه کد زیر نحوه استفاده از دستور Break در PHP را نشان می‌دهد.

1$fruits = array("Apple", "Banana", "Cherry");
2
3foreach ($fruits as $fruit) {
4	if ($fruit == "Banana") {
5    	break; // Exit the loop as we found the Banana
6	}
7	echo $fruit . "\n";
8}

در مثال بالا بعد از پیدا شدن عنصر مورد نظر در آرایه یعنیBanana اجرا حلقه توسط دستور Break متوقف شده است. دستور Break با کم کردن تعداد دفعات تکرار حلقه عملکرد کلی اسکریپت نوشته شده را بهبود می‌بخشد.

چگونه از دستور Continue در PHP استفاده کنیم؟

کدهای نوشته شده بعد از دستور Continue در PHP اجرا نخواهند شد. در واقع، دستور Continue از پیمایش عنصر فعلی آرایه صرف نظر کرده و به سراغ عنصر بعدی موجود در آرایه می‌رود. بنابراین، استفاده از این دستور زمانی توصیه می‌شود که بخواهید از پردازش یک عنصر خاص بر مبنای برقرار شدن شرط صرف نظر کنید. به عنوان مثال، اگر قصد پردازش تمام عناصر آرایه به جز یک مورد خاص را دارید می‌توانید از این دستور استفاده کنید. قطعه کد زیر نحوه استفاده از این دستور را نشان می‌دهد.

1$fruits = array("Apple", "Banana", "Cherry");
2
3foreach ($fruits as $fruit) {
4	if ($fruit == "Banana") {
5    	continue; // Skip the Banana
6	}
7	echo $fruit . "\n";
8}

در مثال بالا تمام عناصر موجود در آرایه به جز عنصرBanana پردازش خواهند شد. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.

Apple
Cherry

دستور Continue برخلاف Break از حلقه به طور کامل خارج نمی‌شود و تنها از پیمایش عنصر فعلی صرف نظر می‌کند.

استفاده همزمان از دستور Break و Continue

امکان استفاده همزمان از دستورهای Break و Continue در PHP وجود دارد. گاهی اوقات با توجه شرایط می‌توانید از این دو دستور به صورت همزمان استفاده کنید. قطعه کد زیر نحوه استفاده از این دو دستور به صورت همزمان را نشان می‌دهد.

1$fruits = array("Apple", "Banana", "Cherry", "Date");
2
3foreach ($fruits as $fruit) {
4	if ($fruit == "Banana") {
5    	continue; // Skip the Banana
6	}
7	if ($fruit == "Cherry") {
8    	break; // Exit the loop when Cherry is encountered
9	}
10	echo $fruit . "\n";
11}

ترکیب این دستورات به توسعه دهنده امکان می‌دهد تا منطق پیچیده‌ مد نظر خود را پیاده‌سازی کند. به عنوان مثال، می‌توان از پیمایش برخی از عناصر آرایه خودداری کرد یا اجرا حلقه را در صورت برآورده شدن شرطی خاص متوقف کرد. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.

Apple
Date

از این رویکرد می‌توان برای فیلتر کردن داده‌ها، جستجو یا هر فرایند دیگری استفاده کرد.

نحوه مدیریت متغیرهای مختلف توسط حلقه foreach در PHP چگونه است؟

حلقه foreach در وهله نخست برای کار با آرایه‌ها و اشیا طراحی شده است، اما با استفاده از این ساختار می‌توان انواع مختلف متغیر را نیز مدیریت کرد. درک چگونگی مدیریت انواع مختلف متغیر توسط این ساختار بسیار مهم است. در ادامه این بخش با نحوه مدیریت متغیرهای مختلف توسط حلقه foreach در PHP آشنا خواهیم شد.

حلقه foreach و متغیرهای اسکالر

در صورت استفاده از متغیرهای اسکالر مانند «عدد صحیح» (Integer)، «رشته» (String) یا «بولی» (Boolean) در حلقه foreach مفسر زبان PHP هشدار صادر خواهد کرد. قطعه کد زیر نحوه استفاده از متغیرهای اسکالر در حلقه foreach را نشان می‌دهد.

1$number = 42;
2
3foreach ($number as $n) {
4	echo $n;
5}

خروجی حاصل از اجرا قطعه کد بالا به صورت زیر خواهد بود.

Warning: Invalid argument supplied for foreach()

دلیل بروز این خطا نیز به این خاطر است که متغیرهای اسکالر تنها یک مقدار دارند و فاقد چندین عنصر برای پیمایش هستند. در حقیقت حلقه foreach نیازمند یک ساختار «تکرارشونده» (Iterable) است تا بتواند عملیات پیمایش را انجام دهد.

حلقه foreach و آرایه های اندیس‌دار

حلقه foreach به خوبی می‌تواند متغیرهایی از نوع آرایه را مدیریت کند. این ساختار توانایی مدیریت «آرایه‌های اندیس‌دار» (indexed arrays) و «آرایه‌های انجمنی» (associative array) را دارد. قطعه کد زیر پیمایش آرایه اندیس‌دار توسط حلقه foreach را نشان می‌دهد.

1$fruits = array("Apple", "Banana", "Cherry");
2
3foreach ($fruits as $fruit) {
4	echo $fruit . "\n";
5}

استفاده از حلقه foreach برای پیمایش عناصر آرایه‌های اندیس‌دار به توسعه‌دهندگان امکان می‌دهد تا بتوانند به سادگی هر کدام از عناصر آرایه را پردازش کنند. در نتیجه، خوانایی و قابلیت نگه‌داری کد نیز بهبود می‌یابد.

حلقه foreach و آرایه های انجمنی

ساختار حلقه foreach توانایی مدیریت آرایه‌های انجمنی را نیز دارد. با استفاده از این حلقه می‌توان به هر دو فیلد کلید و مقدار موجود در این نوع آرایه دسترسی پیدا کرد. قطعه کد زیر مثالی از پیمایش یک آرایه‌ انجمنی با استفاده از حلقه foreach در PHP را نشان می‌دهد.

1$fruits = array("a" => "Apple", "b" => "Banana", "c" => "Cherry");
2
3foreach ($fruits as $key => $value) {
4	echo "Key: $key, Value: $value\n";
5}

در مثال بالا عملیات پیمایش بر روی هر دو فیلد کلید و مقدار آرایه صورت گرفته است.

حلقه foreach و اشیا

از حلقه foreach برای پیمایش اشیا نیز می‌توان استفاده کرد. این حلقه ویژگی‌های شی را به عنوان عناصر آرایه در نظر می‌گیرد. برای درک بهتر این موضوع به مثال زیر توجه کنید.

1class Fruits {
2	public $apple = 'Apple';
3	public $banana = 'Banana';
4	public $cherry = 'Cherry';
5}
6
7$fruits = new Fruits;
8
9foreach ($fruits as $fruit) {
10	echo $fruit . "\n";
11}

در مثال بالا پیمایش عناصر شی$fruits توسط حلقه foreach صورت گرفته است.

تفاوت for با حلقه foreach در PHP

هر دو حلقه for و foreach در زبان PHP به منظور انجام پیمایش بر روی ساختارهای داده مورد استفاده قرار می‌گیرند، اما موارد استفاده و کاربردهایشان با یکدیگر متفاوت است. حلقه for در PHP عملیات پیمایش بر روی کد را بر اساس متغیر شمارنده انجام می‌دهد. در نقطه مقابل حلقه foreach تمام عناصر موجود در آرایه را پیمایش می‌کند.

توسعه‌دهندگان می‌توانند از هر کدام از این ساختارها بسته به شرایط خود استفاده کنند. مهم‌ترین تفاوت‌های این دو ساختار به شرح زیر است.

  • حلقه foreach پیمایش را روی عناصر آرایه انجام می‌دهد.
  • استفاده از حلقه foreach نسبت به حلقه for آسان‌تر است.
  • حلقه foreach در مقایسه با حلقه for عملکرد بهتری دارد.
  • حلقه foreach پیمایش را سریع‌تر انجام می‌دهد و سرعت اجرا برنامه را بهبود می‌بخشد.
  • حلقه for در PHP به تعداد مشخصی تکرار می‌شود.
  • با حلقه foreach سناریوهای پیچیده‌تری را می‌توان پیاده‌سازی کرد.

یادگیری طراحی و برنامه نویسی با فرادرس

طراحی و پیاده‌سازی یک وب‌سایت به ترکیبی از مهارت‌های فنی، خلاقانه و تحلیلی نیاز دارد. زبان برنامه نویسی PHP بیشتر برای توسعه «بک‌اند» (Back-End) مورد استفاده قرار می‌گیرد. اگر قصد دارید یک وب‌سایت را به طور کامل پیاده‌سازی کنید، باید به فناوری‌های بیشتری تسط داشته باشید. به عنوان مثال، HTML و CSS برای طراحی رابط کاربری و چیدمان عناصر مورد نیاز هستند. همچنین، جاوا اسکریپت برای افزودن تعامل به سایت و بهبود تجربه کاربری مورد استفاده قرار می‌گیرد. در کنار این موارد نیز تسلط به فریمورک‌ها، کتابخانه‌ها، سیستم‌های کنترل نسخه، محیط‌های یکپارچه توسعه و ویرایشگرهای متن، ابزارهای اشکال‌زدایی، یکپارچه‌سازی API و سایر موارد دیگر نیز بسیار مفید است.

مجموعه فیلم‌های آموزش طراحی و برنامه ‌نویسی سایت – مقدماتی تا پیشرفته فرادرس
برای مشاهده فیلم‌های آموزش طراحی و برنامه نویسی سایت فرادرس، روی تصویر کلیک کنید.

خوشبختانه در پلتفرم فرادرس برای یادگیری هر کدام از موارد ارائه شده در بالا فیلم‌های آموزشی متعددی منتشر شده است. به منظور دسته‌بندی بهتر تمام آموزش‌های طراحی و برنامه نویسی سایت در قالب مجموعه فیلم‌های آموزش طراحی و برنامه نویسی سایت فرادرس منتشر شده‌اند که از طریق لینک زیر قابل دسترسی هستند.

اگر قصد شروع یادگیری طراحی و برنامه نویسی سایت را دارید می‌توانید از فیلم‌های آموزشی زیر استفاده کنید که در ادامه لینک تعدادی از آن‌ها آورده شده است.

جمع‌بندی

حلقه foreach یک ابزار بسیار کارآمد در زبان برنامه نویسی PHP است که پیمایش سریع و آسان آرایه‌ها و اشیا را فراهم می‌کند. سینتکس آسان و انعطاف‌پذیری بالای این ساختار خوانایی کد را بهبود می‌بخشد. علاوه بر این، حلقه foreach به توسعه‌دهندگان امکان می‌دهد تا عملکردهای پیچیده را به سادگی پیاده‌سازی کنند. با یادگیری حلقه foreach می‌توان به شکل موثرتری از آرایه‌ها و اشیا در برنامه استفاده کرد و عملکرد کلی برنامه را نیز بهبود بخشید. بر همین اساس در این مطلب از مجله فرادرس سینتکس و عملکرد حلقه foreach در PHP به‌طور کامل بررسی شد. به منظور ارتقا دانش و مهارت خود در حوزه برنامه نویسی PHP بدون صرف هزینه می‌توانید از فیلم‌های آموزشی موجود در مجموعه آموزش‌های رایگان PHP فرادرس استفاده کنید که لینک آن در ادامه آورده شده است.

علاوه بر این، چگونگی پیمایش عناصر آرایه و اشیا توسط این ساختار مورد بررسی قرار گرفت. همچنین، موارد مهمی همچون دلیل استفاده از این ساختار، کاربردها و مزایای استفاده از آن نسبت به سایر ساختارهای تکرار متداول نیز در این مطلب آموزشی بررسی شد.

بر اساس رای ۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Zero To Mastery
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *