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

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

1405/04/16 00:37 محراب حسن زاده
آموزش کامل حلقه 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 ."< br / >";
}

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

در 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) و بررسی پایان آرایه نیست.
  • سازگاری با انواع آرایه‌ها: بدون هیچ تغییری، هم روی آرایه‌های عددی و هم روی آرایه‌های کلید-مقداری کار می‌کند.

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کامل و اصولی اتصال PHP به پایگاه داده MySQL (به روش PDO و MySQLi)
1405/05/04 23:34

آموزش کامل و اصولی اتصال PHP به پایگاه داده MySQL (به روش PDO و MySQLi)

مطالعه بیشتر
آموزش استفاده از position در CSS: نحوه موقعیت‌دهی عناصر در صفحات وب
1403/08/09 20:59

آموزش استفاده از position در CSS: نحوه موقعیت‌دهی عناصر در صفحات وب

مطالعه بیشتر
آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها
1402/06/05 00:13

آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها

مطالعه بیشتر
آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها
1403/06/02 20:49

آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها

مطالعه بیشتر
آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام
1403/08/03 16:57

آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی
1403/07/30 20:59

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مطالعه بیشتر
آموزش استفاده از تگ‌های خاص HTML: تگ‌های کاربردی برای طراحی وب‌سایت
1402/05/22 23:53

آموزش استفاده از تگ‌های خاص HTML: تگ‌های کاربردی برای طراحی وب‌سایت

مطالعه بیشتر
معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع
1402/06/27 23:35

معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع

مطالعه بیشتر
آموزش جامع و کاربردی کار با فایل‌ها در PHP
1405/05/04 23:14

آموزش جامع و کاربردی کار با فایل‌ها در PHP

مطالعه بیشتر
آموزش جامع و استاندارد کار با آرایه‌ها در PHP (راهنمای گوگل)
1405/03/24 01:04

آموزش جامع و استاندارد کار با آرایه‌ها در PHP (راهنمای گوگل)

مطالعه بیشتر
راهنمای جامع جلوگیری از SQL Injection در PHP (طبق استانداردهای گوگل)
1405/05/13 21:19

راهنمای جامع جلوگیری از SQL Injection در PHP (طبق استانداردهای گوگل)

مطالعه بیشتر
مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا
1402/06/28 00:49

مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا

مطالعه بیشتر

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