آموزش رایگان PHP

آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)

4م تیر 1405 محراب حسن زاده
آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)

مقدمه؛ چرا حلقه foreach در PHP از اهمیت بالایی برخوردار است؟

در زبان برنامه نویسی PHP، یکی از پرکاربردترین ساختارهای داده، آرایه‌ها (Arrays) هستند. برای دسترسی به عناصر درون یک آرایه و انجام عملیات روی آن‌ها، نیاز به یک ساختار تکرار داریم. اگرچه حلقه‌هایی مانند for و while نیز برای این کار وجود دارند، اما حلقه foreach اختصاصاً برای پیمایش آسان، ایمن و بهینه آرایه‌ها و شیء‌ها (Objects) طراحی شده است. استفاده از این حلقه احتمال بروز خطاهای خارج از محدوده (Out of bound) را به صفر می‌رساند.

۱. ساختار پایه حلقه foreach (فقط مقادیر آرایه)

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


$programmingLanguages = ["PHP", "JavaScript", "Python", "Go"];

foreach ($programmingLanguages as $language) {
    echo "زبان برنامه‌نویسی: " . $language . "
";
}

۲. پیمایش آرایه‌های انجمنی (همراه با کلید و مقدار)

در PHP، آرایه‌های انجمنی (Associative Arrays) بسیار محبوب هستند؛ یعنی آرایه‌هایی که کلید آن‌ها به جای عدد، یک رشته متنی است. برای دسترسی هم‌زمان به کلید (Key) و مقدار (Value) از ساختار زیر استفاده می‌کنیم:


$userAges = [
    "علی" => 25,
    "سارا" => 30,
    "رضا" => 28
];

foreach ($userAges as $name => $age) {
    echo "سن " . $name . " برابر است با: " . $age . " سال
";
}

۳. تغییر مقادیر آرایه با استفاده از ارجاع (Reference)

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


$prices = [100, 200, 300];

foreach ($prices as &$price) {
    $price = $price * 1.1; // افزایش ۱۰ درصدی قیمت‌ها
}

unset($price); // قطع ارتباط ارجاع برای جلوگیری از باگ‌های احتمالی در کدهای بعدی

نکته حیاتی طبق استاندارد گوگل: پس از پایان حلقه‌ای که در آن از ارجاع (Reference) استفاده کرده‌اید، حتماً متغیر مربوطه را با تابع unset() نابود کنید. در غیر این صورت، در کدهای بعدی اگر از همان متغیر استفاده شود، مقادیر آخرین عنصر آرایه شما ناخواسته دچار تغییر خواهند شد!

مزایای استفاده از foreach نسبت به سایر حلقه‌ها

  • خوانایی بالا: کد بسیار تمیزتر و قابل فهم‌تر از حلقه‌های تو در توی کلاسیک می‌شود.
  • امنیت بالا: نیازی به مدیریت دستی شمارنده حلقه (Counter) و بررسی پایان آرایه نیست.
  • سازگاری با انواع آرایه‌ها: بدون هیچ تغییری، هم روی آرایه‌های عددی و هم روی آرایه‌های کلید-مقداری کار می‌کند.

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی
2م شهریور 1403

چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی

مطالعه بیشتر
آموزش جامع توابع داخلی و پرکاربرد PHP + مثال‌های عملی
16م تیر 1405

آموزش جامع توابع داخلی و پرکاربرد PHP + مثال‌های عملی

مطالعه بیشتر
آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر
2م بهمن 1402

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

مطالعه بیشتر
کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر
16م آبان 1403

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

مطالعه بیشتر
آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل
24م خرداد 1405

آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل

مطالعه بیشتر
معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن
28م شهریور 1402

معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن

مطالعه بیشتر
آموزش جامع توابع بازگشتی (Recursion) و کاربردهای آن در جاوا اسکریپت: مثال‌ها و مفاهیم
29م مهر 1403

آموزش جامع توابع بازگشتی (Recursion) و کاربردهای آن در جاوا اسکریپت: مثال‌ها و مفاهیم

مطالعه بیشتر
آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل
6م شهریور 1402

آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل

مطالعه بیشتر
آموزش کامل ساخت فرم در HTML: از المان‌ها تا نکات سئو
21م مرداد 1402

آموزش کامل ساخت فرم در HTML: از المان‌ها تا نکات سئو

مطالعه بیشتر
آموزش Directive‌ های Vue.js | استفاده از v-model، v-bind و v-show با مثال
23م آذر 1404

آموزش Directive‌ های Vue.js | استفاده از v-model، v-bind و v-show با مثال

مطالعه بیشتر
راهنمای کامل لیست‌ها در HTML: آموزش انواع و اصول سئو
20م مرداد 1402

راهنمای کامل لیست‌ها در HTML: آموزش انواع و اصول سئو

مطالعه بیشتر
چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان
2م مهر 1402

چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد