تعداد بازدید: 172

آرایه ها در php

در این مقاله قصد داریم تا آرایه ها رو در php بررسی کنیم و همچنین توابع مرتبط با آرایه ها رو بررسی کنیم.

انواع آرایه در php :

  • آرایه های اندیس دار (Indexed arrays)
  • آرایه های انجمنی (Associative arrays)
  • آرایه های چند بعدی (Multidimensional arrays)

Indexed arrays

آرایه های اندیس دار که کلید آن ها اندیس (index) هست و به صورت پیش فرض از 0 شروع می شود.

اندیس های آرایه قابل تعیین از سمت ما هستند:

اندیس های تعریف نشده قابل دسترسی نیستند به طور مثال اندیس 0 . پس به طور پیش فرض اندیس ها از 0 شروع می شوند ولی توسط ما قابل تعیین هستند.

Associative arrays

آرایه هایی به صورت کلید – مقدار .

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

Multidimensional arrays

به آرایه ای از آرایه ها یا آرایه های چند بعدی یا Multidimensional arrays می گویند.

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

توابع مربوط به مرتب سازی آرایه ها

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

sort : آرایه های اندیس دار را مرتب می کند.

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

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

arsort : آرایه های انجمنی را بر حسب مقدار به صورت معکوس مرتب می کند.

ksort : آرایه های انجمنی را بر حسب کلید مرتب می کند.

krsort : آرایه های انجمنی را بر حسب کلید به صورت معکوس مرتب می کند.

توابع مربوط به حذف عناصر در آرایه

unset : این تابع یک عنصر از آرایه را به وسیله اندیس آن از آرایه حذف می کند ، که اگر آرایه اندیس داشته باشید یا انجمنی باشد (به وسیله کلید).

به طور مثال در کد بالا آرایه شماره دو حذف شده است.

نکته : این تابع می تواند چندین مورد را برای حذف از آرایه قبول کند:

نکته : تابع unset برای متغیر ها هم کاربرد داره و میشه مقدار اون ها رو NULL کرد.

array_splice : این تابع آرایه را از نقطه شروع خاص به تعداد خاص حذف می کند.

صورت دیگر این تابع به شکل زیر است :

پارامتر های این تابع :

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

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

ورود و خروج عضو در آرایه ها

ورود و خروج عضو در آرایه یا از ابتدا انجام میشه یا از انتها .

ورود از ابتدا array_unshift

ورود از انتها array_push

خروج از ابتدا array_shift

خروج از انتها array_pop

array_unshift : اعضایی که به عنوان پارامتر دوم داده میشه به این تابع به آرایه ای که به عنوان پارامتر اول به این تابع داده شده در اول آرایه اول گذاشته میشه.

array_push : اعضایی که به عنوان پارامتر دوم داده میشه به این تابع به آرایه ای که به عنوان پارامتر اول به این تابع داده شده در انتهای آرایه اول گذاشته میشه.

این تابع معادل کد زیر هست :

array_shift : خروج یک عضو از ابتدای یک آرایه ( المان اول آرایه را حذف می کند) :

array_pop : خروج یک عضو از انتهای یک آرایه ( المان آخر آرایه را حذف می کند ) :

حرکت در میان اعضای یک آرایه

حرکت در میان آرایه در طول یک برنامه بوسیله توابع زیر انجام می گردد (پارامتر تمامی توابع زیر آرایه مربوطه است)

current : عضو جاری را نشان می دهد. اگر تا به حال هیچ حرکتی در میان آرایه انجام نداده باشید میشه عضو اول.

next : هر عضوی که current تا حالا نشون داده بعدیش رو برمیگردونه و از اونجا به بعد current تغییر می کنه.

prev : عضو قبلی current آرایه رو برمیگردونه و current از اونجا به بعد تغییر می کنه.

end : عضو جاری هر جا باشه به انتهای آرایه میره و عضو آخر رو بر میگردونه و current هم از اونجا به بعد میشه عضو آخر.

اجتماع و اشتراک متمم آرایه ها

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

array_merge : این تابع دو آرایه را با هم ادغام می کند که در عملیات ریاضی به آن اجتماع می گوییم.

array_intersect : این تابع اعضای مشترک دو آرایه را بر می گرداند که در ریاضی به آن عملیات اشتراک گفته می شود.

array_diff : اعضای غیر مشترک دو آرایه که در ریاضی متمم دو مجموعه به آن گفته می شود.

سایر توابع مربوط به آرایه

array_merge : ادغام دو آرایه . دو تا پارامتر میگیره که هر دو آرایه هستند و آرایه دوم رو میچسبونه به انتهای آرایه اول.

is_array : این تابع ورودی میگیره و بررسی می کنه آرایه هست یا خیر.

count : این تابع ورودی یک آرایه میگیره و تعدادش رو برمیگردونه.(دقت داشته باشید اعضای آرایه از 0 شروع میشه)

explode : این تابع یک رشته به همراه یک جدا کننده میگیره و رشته رو با جداکننده تبدیل به آرایه می کنه (ورودی رشته و جداکننده و خروجی آرایه).

پارامتر های این تابع :

  • delimiter : جداکننده.
  • string : رشته ورودی که در درون خودش از جداکننده (پارامتر بالا) داشته باشه.

implode : این تابع ورودی یک آرایه می گیره و یک جدا کننده و برعکس تابع بالا آرایه رو به رشته تبدیل می کنه.

این تابع در کوئری های SQL زمانی که میخواید جستجو داشته باشید استفاده داره . چرا که آرایه از جنس php در SQL نمیشه مستقیم استفاده بشه و بهتره رشته بهش بدیم.

extract : این تابع ورودی یک آرایه انجمنی می گیره و به وسیله کلید ها یه سری متغیر از روی آرایه ورودی میسازه.

نکته : این تابع بسیار پر کاربرد در ورودی توابع هست. به طور مثال شما ورودی رو به جای این که چندین متغیر قرار بدید یک آرایه انجمنی قرار میدید و به وسیله extract به متغیر ها دسترسی پیدا می کنید و کدتون تمیز تر میشه.

array_search : یک عضو رو درون یک آرایه جستجو می کنه و index اش رو بر میگردونه . (شروع ایندکس گذاری در آرایه از 0 شروع میشود)

پارامتر اول عضو مورد جستجو و پارامتر دوم آرایه مد نظر. خروجی عدد است و اگر یافت نشد false رو بر می گردونه.

in_array : جستجوی یک عضو درون یک آرایه . تفاوتش با تابع array_search اینه که در صورت یافتن عضو تنها true بر می گردونه ولی در تابع قبل موقعیتش رو بر میگردوند.

array_map : یه تابع خاص رو روی تمامی اعضای یک آرایه اجرا می کنه .

پارامتر های این تابع :

  • callback : این همون تابعیه که قراره روی اعضای آرایه ما اجرا بشه.
  • array : یک یا چند آرایه که تابع پارامتر اول روی اونها اجرا بشه.

مثلا در تابع بالا تمامی اعضای یک آرایه به توان رسیده اند. در این تابع یک آرایه داده ایم و خروجی هم یک آرایه است.

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

array_value : تبدیل آرایه انجمنی به اندیس دار با حذف کلید و تبدیل آن به اندیس .

serialize : این تابع مشترک میان آرایه ها و اشیا هست . برای ثبت یک آرایه در پایگاه داده ما مجاز به استفاده مستقیم از آرایه نیستیم . پس باید اون رو به شکلی در بیاریم که در پایگاه داده ثبت بشه. تابع serialize اون رو به شکل بهینه برای پایگاه داده در میاره و در نقطه مقابل برای بازگشت رشته serialize شده به حالت آرایه ما تابع unserialize رو داریم.

unserialize : رشته serialize شده رو تبدیل به آرایه می کنه. دقت داشته باشید که رشته ورودی باید از نظر قوانین serialize معتبر باشه.

مطالب مشابه

strings-function in php

رشته ها در PHP

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

اشتراک گذاری :

ابوالفضل صباغ

برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای آرایه ها در php

دیدگاهتان را بنویسید

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