آموزش PHP – کار با آرایه ها در PHP

  • آپدیت شده در تاریخ

آموزش PHP

در قسمت قبلی با دستور شرطی Switch…Case در PHP آشنا شدیم. در این بخش از سری آموزش php قصد داریم نحوه ذخیره چندین مقدار در یک متغیر با آرایه ها در PHP را آموزش بدیم.

 

آرایه ها در PHP

آرایه (Array) یک متغیر پیچیده است که به ما اجازه ذخیره بیشتر از یک مقدار یا گروهی از مقدارها در یک نام متغیر را می دهد.

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

فرض کنیم شما می خواهید نام رنگ ها در کد جاوا اسکریپت را ذخیره کنید. برای ذخیره کردن یک به یک نام رنگ ها شما باید بصورت زیر متغیر تعریف کنید:

اما اگر مثلا نیاز بود نام شهر یا استان های یک کشور را در متغیر ها ذخیره کنیم, در اینصورت شاید بیشتر از ۱۰۰ متغیر نیاز بود. بنابراین ذخیره هر کدام بصورت جداگانه در متغیرهای جدا خسته کننده و سخت است.

همچنین داشتن تعداد زیادی متغیر همزمان و دسترسی به آنها کار بسیار سختی است و اینجاست که آرایه ها وارد می شوند.

آرایه ها در php یا تمام زبان های برنامه نویسی یک ساختار مرتب را برای ذخیره مقادیر چندگانه یا گروهی از مقادیر ارایه می دهد.

 

انواع آرایه ها در PHP

سه نوع آرایه که می توانید بسازید بصورت زیر است :

  • آرایه های ایندکس شده (indexed) – یک آرایه با کلید (key) عددی.
  • آرایه های انجمنی (Associative) – یک آرایه که هر کلید, مقدار بخصوص خود را دارد.
  • آرایه های چندبعدی یا تو در تو (Multidimensional) – یک آرایه که خودش شامل یک یا چند آرایه است.

 

آرایه های ایندکس شده (indexed) در PHP

یک آرایه ایندکس گذاری شده یا عددی, هر عنصر آرایه را به همراه یک ایندکس عددی ذخیره می کند.

مثال زیر دو راه برای ساخت آرایه های ایندکس شده را نشان می دهد.

آسان ترین راه بصورت زیر است :

نکته: در یک آرایه عددی یا ایندکس شده, ایندکس ها بصورت خودکار اختصاص داده شده و با ۰ شروع می شوند, و مقادیر می توانند هر نوع داده ای باشند.

این مثال دقیقا کار مثال بالا را انجام می دهد که البته بصورت دستی ایندکس ها نوشته شده است.

 

آرایه های انجمنی (Associative) در PHP

در یک آرایه انجمنی, کلید های اختصاص داده شده به مقادیر می توانند بصورت اختیاری و رشته های تعریف شده کاربر باشند.

مثال زیر نحوه استفاده از کلیدها به جای ایندکس های عددی را نشان می دهد.

این مثال دقیقا کار مثال بالا را انجام می دهد اما یک راه متفاوت برای ساخت آرایه انجمنی را نشان می دهد.

 

آرایه های چندبعدی یا تو در تو (Multidimensional) در PHP

یک آرایه چندبعدی, آرایه ای است که هر عنصر می تواند یک آرایه باشد و هر عنصر می تواند یک آرایه دیگر را داخل خود داشته باشد و آن آرایه هم آرایه دیگر و به اینصورت تو در تو آرایه هایی را ایجاد کنند.

یک مثال از آرایه های چندبعدی را در کد زیر می بینید :

 

نمایش ساختار و مقدار آرایه ها

توجه داشته باشید که با دستورات چاپ خروجی مثل echo و print که قبلا معرفی کردیم نمی توانید مقادیر و ساختار آرایه را چاپ/مشاهده کنید

بنابرااین می توانید ساختار و مقدار هر آرایه ای را با دو دستور var_dump() یا print_r() ببینید.

دستور print_r() اطلاعات کمتری از آرایه نمایش می دهد. مثال زیر را در نظر بگیرید :

خروجی مثال بالا که دستور print_r() است بصورت زیر می باشد :

Array ( [0] => London [1] => Paris [2] => New York )

این خروجی کلید و مقادیر هر عنصر در آرایه را چاپ می کند برای دریافت اطلاعات بیشتر, می توانید از دستور var_dump() که بسیار پر استفاده است, بهره ببرید :

خروجی دستور var_dump() بصورت زیر است :

array(3) { [۰]=> string(6) “London” [1]=> string(5) “Paris” [2]=> string(8) “New York” }

این خروجی نوع داده هر عنصر, مثل تعداد کاراکترهای رشته, کلید و مقادیر را چاپ می کند.

توابع مهم زیادی برای کار با آرایه ها وجود دارد و عملیات زیادی را میتوانید روی آرایه انجام بدید که بیشتر این مباحث را قبلا بصورت مقالات جداگانه منتشر کردیم که حتما مطالعه کنید :

 

امیدوارم در این بخش آموزش PHP, از کار با آرایه ها در php نهایت استفاده را برده باشید.

در بخش بعدی کار با حلقه ها در PHP را یاد می گیریم.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق باشید

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۳)

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

  1. محمود رنجبر ۸ بهمن ۱۳۹۹

    سلام حسن جان میخوام دو آرایه رو جمع کنم با هم از array_merge استفاده کردم ولی وقتی یکی از آرایه ها خالی باشه warning میده چون میخوام چند تا ارور که از توابع مختلف میاد رو جمع کنم و با هم نشون بدم ممکنه یکی از اونها خالی باشه تابعی هست که دو آرایه رو جمع کنه اگه یکی از اونها خالی بود ارور نده با تشکر تو اینترنتم گشتم چیزی پیدا نکردم البته با دستور if میشه حلش کرد

    پاسخ
    1. حسن شفیعی ۸ بهمن ۱۳۹۹

      سلام. بهتره از همان if استفاده کنید

      پاسخ
      1. محمود رنجبر ۸ بهمن ۱۳۹۹

        سلام حسن جان با array_push و استفاده از foreach ارورها رو به یک آرایه انتقال دادم سپاس

        پاسخ
دوره های آموزشی