120


'

آرایه در php - افزون وردپرس


array '
'


آرایه چیست؟

آرایه ها مجموعه ای از متغیر ها هستند و می توانند چند متغیر با انواع متفاوت را ذخیره کنند. در بسیاری از پروژه ها ممکن است که شما نیاز داشته باشید چندین متغیر که معمولا به هم مرتبط هستند را نگه دارید، برای مثال شما 100 پیام دارید که می خواهید از آنها در کدتان استفاده کنید. ایده اولیه این مسئله این است که برای هرکدام یک متغیر بسازیم مانند chat1 ،chat2 و ... ، اما اگر 1000 پیام داشتیم چه؟ اگر 10000 پیام داشتیم چیه؟ برای حل این مسئله از آرایه ها استفاده می کنیم.

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

چطور در php یک آرایه تعریف کنیم؟

برای تعریف آرایه در php می توانیم از همین روش تعریف متغیر کمک بگیریم، یعنی اینکه یک نام قرار دهیم که با $ شروع می شود، سپس علامت = را بنویسیم و در نهایت مقدار را، با این تفاوت که مقدار باید آرایه باشد. برای اینکه مقدار یک آرایه باشد، باید آنها را میان پرانتز های array() قرار دهیم و با , هر مقدار را جدا کنیم. (مقادیر می توانند عدد صحیح، رشته، عدد اعشاری، boolian , ... باشند)

defind_array_php

چطور به مقادیر آرایه دسترسی داشته باشیم؟

همانطور که گفتیم، هر مقدار آرایه در یک اندیس جدا ذخیره می شود و ما می توانیم به هر اندیس دسترسی داشته باشیم، مقدار آن را عوض کنیم و یا هرکار دیگری. (درواقع هر اندیس آرایه مانند یک متغیر می ماند) برای اینکه به هر اندیس دسترسی داشته باشیم می توانیم نام آرایه را نوشته و سپس [ ] را بنویسیم و میان [ ] شماره اندیس آرایه را قرار دهیم. برای مثال در آرایه ای که بالا تعریف کرده ایم، مقدار "php" اندیس 1 را دارد و مقدار "wp" اندیس 2 را. (درواقع شماره اندیس ها به ترتیب از 0 به بالا است)

access_to_array_value

در کد بالا مقدار "afzoonwp" چاپ می شود چون اندیس 0 آرایه است. همچنین می توان پس از نام و اندیس آرایه، علامت = و سپس مقدار را قرار داد تا مقدار آن اندیس عوض شود.

change_value_of_array

آرایه های انجمنی

در زبان php دو نوع آرایه وجود دارد، اولین نوع که تا اینجا با آن آشنا شده ایم، آرایه هایی هستند که اندیس آنها یک عدد است، مانند 0 و 1، اما نوع دیگری از آرایه به نام آرایه انجمنی وجود دارد که اندیس آن را می توانیم نامگذاری کنیم، برای مثال می توانیم بگوییم اندیس "hi" برابر مقدار "hey" است.

برای تعریف این نوع آرایه ها مانند تعریف آرایه اندیس عددی است، اما باید قبل از هر مقدار آن نام اندیس را بنویسیم و سپس علامت => بگذاریم. (این علامت در php به معنای فلش است) پس از آن برای دسترسی به هر مقدار آرایه باید به جای قرار دادن اندیس عددی، اندیسی که مشخص کرده ایم را قرار دهیم.

defind_associative_array

کاربرد آرایه ها

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

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

یکی از قابلیت های مفید آرایه ها، ذخیره کردن یک آرایه به عنوان یک اندیس آرایه است. یعنی اینکه ما بگوییم اندیس 3 آرایه afzoonwp، یک آرایه است که اندیس دومش برابر "hi" است؛ به این آرایه ها آرایه های چند بعدی می گویند. برای دسترسی به مقادیر این آرایه ها باید از دو [ ] استفاده کنیم.

defind_2d_array

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

خروجی گرفتن آرایه ها

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

print_r_function

یک تابع دیگر نیز برای خروجی گرفتن آرایه وجود دارد. آرایه مذکور، var_dump است که همانند print_r یک آرایه را خروجی می دهد، با این تفاوت که var_dump اطلاعات بسیار بیشتری را نشان می دهد و می تواند گزینه بهتری برای دیباگ کردن باشد.

var_dump_function

راستی این رو یادم رفت، می شه آرایه ها رو باهمدیگه جمع زد.

'