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

اندیس را می توان شناسه (ID) یک مقدار درون متغیر دانست. یک آرایه را می توان جدولی فرض کرد که شامل دو ستون اندیس و مقدار متغیر باشد.

برای صدا زدن یک عنصر درون یک آرایه تنها نیاز است تا نام متغیر را نوشته و سپس اندیس عنصر را درون [] قرار دهید:

 

معمولا یک آرایه برای مقادیری در نظر گرفته می شود که در یک مورد وجه شبه داشته باشند. مثلا آرایه ای با نام Names می تواند شامل مقادیری به شکل زیر باشد:

مقدار اندیس نحوه فراخوانی
Ali 0 Names[0]
Reza 1 Names[1]
Mohammad 2 Names[2]
Ebrahim 3 Names[3]
Mostafa 4 Names[4]
Hossein 5 Names[5]
Amir 6 Names[6]

 

همانطور که می بینید در تمام موارد نام آرایه یکسان بود و تنها شماره ی اندیس آن تغییر می کرد. توجه کنید که درآرایه ها مقادیر از 0 شروع می شوند و مثال بالا دارای 7 مقدار می باشد.

انواع آرایه

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

1- آرایه های عددی (Numeric)

2- آرایه های انجمنی یا دو بعدی (Associative)

3- آرایه های چند بعدی (Multidimensional)

در ادامه به طور اختصاصی به توضیح هریک می  پردازیم.

آرایه های عددی (Numeric array)

تعریف آرایه:

آرایه ها با تابع array() تعریف می شوند و به نام مورد نظر انتساب داده می شوند. شکل کلی آن به شکل زیر است:

 

و نام آرایه همچون یک متغیر عمل می کند. برای مثال برای تعریف آرایه ای با نام cars به شکل زیر عمل می کنیم:

 

مقداردهی متغیر:

برای مقداردهی آرایه ها دو راه وجود دارد:

– مقداردهی هنگام تعریف:

 

– مقداردهی پس از تعریف:

 

همانطور که می بینید تنها کافی است که نام آرایه و اندیس آن را نوشته و آن را همچون متغیرها مقداردهی کنید.

واکشی مقادیر از آرایه ها:

واکشی مقادیر از آرایه ها نیز مانند مقداردهی آن ها تنها نیاز است تا نام آرایه و اندیس آن را برای دسترسی به مقدار بنویسید:

که خروجی آن به شکل زیر است:

آشنایی با آرایه ها در PHP

آرایه های دو بعدی یا انجمنی (Associative)

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

مقداردهی آرایه های دو بعدی:

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

 

مقداردهی هنگام تعریف:

همانطور که می بینید برای انتساب مقداری به نام عنصر نیاز است تا از علامت => استفاده کنیم.

مقداردهی پس از تعریف:

 

واکشی مقادیر

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

خروجی:

آشنایی با آرایه ها در PHP

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

آرایه های چندبعدی چیزی فراتر از آرایه های عددی و دوبعدی است به شکلی که عمق آن بسیار زیاد است و طرز استفاده آن نیز کمی سخت تراست (فقط کمی!!!).

در آرایه های چندبعدی مقدار هر عنصر، خود می تواند یک آرایه باشد.

مقداردهی آرایه های چندبعدی

مقداردهی هنگام تعریف:

به مثال زیر توجه کنید:

همانطور که می بینید در آرایه ی persons عنصر اول Ali است که مقدار آن خود یک آرایه ی دوبعدی است.

مقداردهی پس از تعریف:

این نوع مقداردهی بعد از تعریف آرایه هیچ تفاوتی با مورد قبل ندارد. تنها به نحوه مقداردهی توجه کنید که در این مثال ابتدا عنصر Ali تعریف و عناصر tall و weight جزء این آرایه هستند و به عبارتی جزء زیرمجوعه های این عنصر هستند. آرایه ی Reza و دوباره مقادیر weight و tall نیز همین طور.

واکشی مقادیر

همانطور که در زمان مقداردهی نیز مشاهده کردید استفاده از این مقادیر هم همانطور که دیدید است. به مثال زیر دقت کنید:

که خروجی آن به شکل زیر است:

آشنایی با آرایه ها در PHP

نمایش محتوای آرایه ها با استفاده از توابع و ساختارهای تکرار

برای دسترسی به مقادیر آرایه هایی که تا به این جا ایجاد کرده ایم راهکارهایی وجود دارد. در این جا چند مورد را بررسی می کنیم:

1- تابع print_r

2- تابع var_dump

3- حلقه for

4- حلقه foreach

تابع print_r

این تابع برای نمایش تمام محتویات یک آرایه است. تنها پارامتر ورودی آن نام متغیر حاوی آرایه است.

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

خروجی:

آشنایی با آرایه ها در PHP - کار با تابع print_r()

تابع var_dump

این تابع نیز مانند تابع print_r می باشد اما اطلاعات بیش تری را نمایش می دهد:

خروجی:

آشنایی با آرایه ها در PHP - کار با تابع var_dump()

حلقه for

اگر با ساختار for آشنایی ندارید بهتر است تا ابتدا قسمت آموزش آن را مطالعه نمایید.

از ساختار حلقه for تنها برای آرایه های عددی می توان استفاده کرد و تعداد عناصر آرایه را نیز باید بدانیم. به مثال زیر توجه فرمایید:

خروجی:

آشنایی با آرایه ها در PHP - کار با حلقه for

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

اما در مثال بالا باید تعداد مقادیر آرایه را بدانیم برای همین کد را به صورت زیر تغییر بدهیم:

تابع count تعداد مقادیر یک آرایه را بر می گرداند و به این شکل کد را گسترش دادیم.

حلقه foreach

ساختار حلقه foreach مخصوص آرایه هاست و دسترسی به مقادیر آرایه ها را ساده تر می کند. شکل استفاده از آن به صورت زیر است:

در این مثال در هربار اجرای حلقه مقدار بعدی آرایه cars درون متغیر دلخواه value قرار می گیرد و به این ترتیب می توانیم به محتویات این آرایه به راحتی دسترسی داشته باشیم. این حلقه تا زمانی که تعداد عناصر آرایه به پایان برسد ادامه دارد و خروجی آن همچون مثال های گذشته به شکل زیر است:

آشنایی با آرایه ها در PHP - کار با حلقه foreach()