ترتيب المصفوفات في PHP

من موسوعة حسوب
< PHP
(بالتحويل من PHP/Array Sorting)

تحتوي لغة PHP على الكثير من الدوال التي تتعامل مع ترتيب المصفوفات، وهذه الصفحة تساعد على التفريق بينها.

الاختلافات الرئيسية هي:

  • ترتب بعض الدوال المصفوفات بناءً على مفاتيحها (keys)، بينما ترتبها دوالٌ أخرى بناءً على القيم المرتبطة مع كل مفتاح.
  • قد تحافظ بعض الدوال على العلاقة ما بين المفتاح والقيمة المسجلة معه بعد عملية الترتيب. لكن هذا قد يعني أنه في بعض الأحيان سيُعاد ضبط المفاتيح إلى الوضعية الافتراضية العددية (0، 1، 2 …).
  • طريقة الترتيب: هجائيًا من الأصغر إلى الأكبر (تصاعديًا)، من الأكبر إلى الأصغر (تنازليًا)، عدديًا، الترتيب العددي الطبيعي، أو الترتيب العشوائي، أو باستخدام طريقة أخرى يحددها المستخدم.
  • ملحوظة: تعدل كل هذه الدوال في المصفوفة نفسها، بدلًا من أن تعيد مصفوفةً جديدةً مرتبة.
  • نتيجة الترتيب غير محددة (عملية الترتيب غير مستقرة وقد لا تعيد نفس النتائج في كل مرة تستعمل فيها نفس الدالة مع نفس المصفوفة) إذا قارنت الدالة بين عضوين متماثلين في المصفوفة.
اسم الدالة الترتيب باستخدام تحافظ على العلاقة بين المفاتيح والقيم طريقة الترتيب دوال مرتبطة بها
array_multisort()‎ القيمة المصفوفات الترابطية نعم، المصفوفات العددية لا   array_walk()‎
asort()‎ القيمة نعم الأصغر إلى الأكبر arsort()‎
arsort()‎ القيمة نعم الأكبر إلى الأصغر assort()‎
krsort()‎ المفتاح نعم الأكبر إلى الأصغر ksort()‎
ksort()‎ المفتاح نعم الأصغر إلى الأكبر asort()‎
natcasesort()‎ القيمة نعم الترتيب الطبيعي، دون أخذ حالة الأحرف بالحسبان natsort()‎
natsort()‎ القيمة نعم طبيعي natcasesort()‎
rsort()‎ القيمة لا الأكبر إلى الأصغر sort()‎
shuffle()‎ القيمة لا عشوائي array_rand()‎
sort()‎ القيمة لا الأصغر إلى الأكبر rsort()‎
uasort()‎ القيمة نعم يحددها المستخدم uksort()‎
uksort()‎ المفتاح نعم يحددها المستخدم uasort()‎
usort()‎ القيمة لا يحددها المستخدم uasort()‎

 مصادر