طراحی سایت, ساخت ربات تلگرام, آموزش php , سورس کد php ,سورس ربات تلگرام , سورس فروشگاه اینترنتی , آموزش طراحی وب

مرتب کردن آرایه در PHP


مرتب کردن آرایه در PHP

زبان php شامل توابع قدرتمند و همچنین زیادی برای کار با آرایه ها در php دارد که بسیار جالب و کاربردی هستند . برای مثال array_keys() , array_values() , implode  و explode و غیره .. . توابع مرتب کردن آرایه در php  بسیار مهم است که باید با آن ها آشنا باشید .

مرتب کردن آرایه در php که شامل شرایط مختلفی است که کدام گروه از المان ها باید مرتب شوند , متفاوت است  . بخاطر این شرایط,  مرتب سازی می تواند بر اساس نوع های مختلفی مانند کلید (key) , یا مقدار (value) و .. انجام شود.

PHP لیستی از توابع از پیش ساخته شده (inbuilt) برای مرتب کردن آرابه در php ارایه داده است . که شامل :

  1. sort() – آرایه را از کوچک به بزرگ یا صعودی (ASCending) مرتب می کند .که دو آرگومان , یکی آرایه ای که می خواهیم مرتب کنیم و دیگری گزینه های مرتب سازی , را می پذیرد . اگر برای آرگومان دوم موردی ست نشود , مقدار پیش فرض SORT_REGULAR خواهد بود . این موارد را بصورت جزیی تر در ادامه خواهیم دید.
  2. rsort() –  آرایه را از بزرگ به کوچک یا نزولی (DESCending) مرتب می کند
  3. asort() – آرایه انجمنی را به صورت صعودی و بر حسب مقدار عناصر مرتب می کند
  4. arsort() – آرایه انجمنی را به صورت نزولی و بر حسب مقدار عناصر مرتب می کند
  5. usort() – به جای آپشن های مرتب سازی , یک تابع بازگشتی (callback-function) که بر اساس مرتب سازی هر خانه از آرایه که مرتب می شود , فراخوانی و بر طبق شرایط عملیاتی انجام می دهد.
  6. uasort() – این تابع ترکیبی از تابع usort() و asort() است که آرایه را بصورت نزولی و بر حسب مقادیر مرتب و همراه با این عملیات تابع تعیین شده توسط کاربر را اجرا می کند .
  7. array_multisort() – این تابع برای مرتب کردن چندین آرایه در php بطور همزمان به کار می رود . همچنین برای مرتب کردن آرایه های چند بعدی با ست کردن آپشن مشخص مرتب سازی استفاده می شود .
  8. natsort() – توابع مرتب کردن آرایه در php که بالا لیست شدند برای مرتب کردن آرایه بر اساس استانداردی که تعریف شده استفاده می شوند . اما تابع natsort() , برای مرتب سازی آرایه براساس استانداردهایی که شخص تعیین می کند , می توان از آن بهره برد .
  9. natcasesort() – مشابه تابع natsort() است اما برای مواردی که کوچک و بزرگ بودن کاراکتر ها مهم نباشد (case-insensitive) استفاده می شود.
حتما بخوانید  معرفی احراز هویت Token در php

مرتب کردن آرایه در PHP

طبقه بندی توابع بالا برای مرتب سازی آرایه در php بر اساس مقادیر (value) استفاده می شود . بعضی از توابع که مرتب سازی آرایه ها را بر اساس کلید (key) مشخص می کند بصورت زیر است

  • Ksort() – مشابه تابع sort() که آرایه را از کوچک به بزرگ یا صعودی (ASCending) مرتب می کند , است اما به جای مقدار بر اساس کلید مرتب می کند
  • Krsort() – این تابع برای مرتب کردن آرایه بر اساس کلید و بصورت نزولی استفاده می شود .
  • Uksort() – ترکیب دو تابع ksort() و usort() است که بر اساس کلید مرتب می کند و به عنوان آرگومان دوم یک تابع بازگشتی را می پذیرد .

 

بنابراین , تعداد زیادی از توابع برای مرتب کردن آرایه در php بر اساس شرایط مختلف وجود دارد . حالا نیاز داریم که در مورد flag آپشن هایی که در بالا اشاره شد و می تواند در مرتب سازی آرایه بر اساس مقدار (value) مهم باشد را میبینیم .

  • SORT_REGULAR – اگر هیچ آپشنی ست نشود , این مقدار پیش فرض برای توابع مرتب سازی استفاده می شود . بر اساس این آپشن مقادیر آرایه بدون هیچ تغییری مرتب خواهند شد .
  • SORT_NUMERIC – همانطور که از نام مشخص است , بر اساس اعداد مرتب می کند.
  • SORT_STRING – با مشخص کردن این فلگ , بر اساس حروف الفبا (alphabetical) مرتب می شود .
  • SORT_NATURAL – به شما امکان مشخص کردن دستی مرتب سازی را می دهد .
  • SORT_FLAG_CASE – اگر این آپشن ست شود , مرتب سازی حروف الفبا بدون اهمیت کوچک و بزرگ بودن انجام می شود .
  • SORT_LOCALE_STRING – این فلگ به شما اجازه مرتب سازی بصورت الفبایی و بر اساس زبان کانفیگ شده و یا ست شده توسط تابع locate() انجام می دهد .
حتما بخوانید  دریافت اطلاعات فرم در php

 

مثال مرتب کردن آرایه در php

خب یک مثال از تفاوت مرتب سازی استاندارد و طبیعی بین تابع sort() و natsort() را ببینیم .

در اسکریپت php بالا , تابع sort() مرتب کردن اعداد در فرمت استاندارد استفاده شده است . با مشخص کردن آپشن SORT_STRING , همه المان ها بر اساس استاندارد الفبایی اعداد مرتب می شود و خروجی بصورت زیر است :

در این مورد اجازه بدید , از تابع natsort() برای دریافت نتیجه مرتب سازی ببنیم . برای اینکار کافی است تابع زیر را به جای خط دوم کد php بالا استفاده کنید .

حالا نتایج را می بینید .(کار با اعداد در php)

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

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

موفق و پیروز باشید

حسن شفیعی
مدرس ، پنتستر ، توسعه دهنده اپلیکیشن های تحت وب ، عضو مرکز حامی نخبگان و از مدیران و اعضای رسمی تیم امنیتی آشیانه هستم . علاقه خاصی به زبان php و امنیت شبکه و لینوکس دارم و هر روز تلاش می کنم به این حوزه ها مسلط تر شوم و اطلاعاتم را در وب به اشتراک بگذارم

دیدگاه کاربران

2 پاسخ به “مرتب کردن آرایه در PHP”

  1. سعید گفت:

    با سلام. من آرایه ای دارم که وقتی با print_r اونو چاپ میکنم برای هر عنصر آرایم شماره مینویسه به ترتیب از ۰ تا آخر.
    از دستور array_unique استفاده کردم برای حذف عناصر تکراری و این باعث شد که الان با print_r آرایه را چاپ میکنم شماره هاش بهم بریزه و به ترتیب ۰ و ۱ و ۲ و …. نباشه . برای مرتب کردن شماره هاش باید چیکار کرد؟

    0

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

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

جدیدترین آموزش های آنلاین



دانلود رایگان (هدیه ویژه)

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

دانلود رایگان کتاب

افزایش امنیت سایت

مجوزهای ما

logo-samandehi

بخش کاربران

هنوز عضو نیستید ؟ کلیک کنید

دانلود کتاب

عضویت در خبرنامه