الفرق بين المراجعتين لصفحة: «PHP/array sorting»
< PHP
Ibrahem-atef (نقاش | مساهمات) إنشاء صفحة جديدة |
ط نقل عبد اللطيف ايمش صفحة PHP/Array Sorting إلى PHP/array sorting: إعادة هيكلة التوثيق |
||
(8 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:ترتيب المصفوفات في PHP}}</noinclude> | |||
تحتوي لغة PHP على الكثير من الدوال التي تتعامل مع ترتيب المصفوفات، وهذه الصفحة تساعد على التفريق بينها. | تحتوي لغة PHP على الكثير من الدوال التي تتعامل مع ترتيب المصفوفات، وهذه الصفحة تساعد على التفريق بينها. | ||
سطر 6: | سطر 5: | ||
* ترتب بعض الدوال المصفوفات بناءً على مفاتيحها (keys)، بينما ترتبها دوالٌ أخرى بناءً على القيم المرتبطة مع كل مفتاح. | * ترتب بعض الدوال المصفوفات بناءً على مفاتيحها (keys)، بينما ترتبها دوالٌ أخرى بناءً على القيم المرتبطة مع كل مفتاح. | ||
* قد تحافظ بعض الدوال على العلاقة ما بين المفتاح والقيمة المسجلة معه بعد عملية الترتيب. لكن هذا قد يعني أنه في بعض الأحيان سيُعاد ضبط المفاتيح إلى الوضعية الافتراضية العددية (0، 1، 2 …). | * قد تحافظ بعض الدوال على العلاقة ما بين المفتاح والقيمة المسجلة معه بعد عملية الترتيب. لكن هذا قد يعني أنه في بعض الأحيان سيُعاد ضبط المفاتيح إلى الوضعية الافتراضية العددية (0، 1، 2 …). | ||
* طريقة الترتيب: هجائيًا من الأصغر إلى الأكبر (تصاعديًا)، من الأكبر إلى الأصغر (تنازليًا)، عدديًا، الترتيب العددي الطبيعي، الترتيب العشوائي، أو باستخدام طريقة أخرى يحددها المستخدم. | * طريقة الترتيب: هجائيًا من الأصغر إلى الأكبر (تصاعديًا)، من الأكبر إلى الأصغر (تنازليًا)، عدديًا، الترتيب العددي الطبيعي، أو الترتيب العشوائي، أو باستخدام طريقة أخرى يحددها المستخدم. | ||
* ملحوظة: تعدل كل هذه الدوال في المصفوفة نفسها، بدلًا من أن تعيد مصفوفةً جديدةً مرتبة. | * ملحوظة: تعدل كل هذه الدوال في المصفوفة نفسها، بدلًا من أن تعيد مصفوفةً جديدةً مرتبة. | ||
* نتيجة الترتيب غير محددة (عملية الترتيب غير مستقرة وقد لا تعيد نفس النتائج في كل مرة تستعمل فيها نفس الدالة مع نفس المصفوفة) إذا قارنت الدالة بين عضوين متماثلين في المصفوفة. | * نتيجة الترتيب غير محددة (عملية الترتيب غير مستقرة وقد لا تعيد نفس النتائج في كل مرة تستعمل فيها نفس الدالة مع نفس المصفوفة) إذا قارنت الدالة بين عضوين متماثلين في المصفوفة. | ||
{| class="wikitable" | {| class="wikitable" | ||
!اسم الدالة | |||
!الترتيب باستخدام | |||
!تحافظ على العلاقة بين المفاتيح والقيم | |||
!طريقة الترتيب | |||
!دوال مرتبطة بها | |||
|- | |- | ||
|array_multisort() | |<code>[[PHP/array_multisort|array_multisort()]]</code> | ||
|القيمة | |القيمة | ||
|المصفوفات | |المصفوفات الترابطية نعم، المصفوفات العددية لا | ||
| | | | ||
|array_walk() | |<code>[[PHP/array_walk|array_walk()]]</code> | ||
|- | |- | ||
|asort() | |<code>[[PHP/asort|asort()]]</code> | ||
|القيمة | |القيمة | ||
|نعم | |نعم | ||
|الأصغر إلى الأكبر | |الأصغر إلى الأكبر | ||
|arsort() | |<code>[[PHP/arsort|arsort()]]</code> | ||
|- | |- | ||
|arsort() | |<code>[[PHP/arsort|arsort()]]</code> | ||
|القيمة | |القيمة | ||
|نعم | |نعم | ||
|الأكبر إلى الأصغر | |الأكبر إلى الأصغر | ||
|assort() | |<code>[[PHP/array_asort|assort()]]</code> | ||
|- | |- | ||
|krsort() | |<code>[[PHP/krsort|krsort()]]</code> | ||
|المفتاح | |المفتاح | ||
|نعم | |نعم | ||
|الأكبر إلى الأصغر | |الأكبر إلى الأصغر | ||
|ksort() | |<code>[[PHP/ksort|ksort()]]</code> | ||
|- | |- | ||
|ksort() | |<code>[[PHP/ksort|ksort()]]</code> | ||
|المفتاح | |المفتاح | ||
|نعم | |نعم | ||
|الأصغر إلى الأكبر | |الأصغر إلى الأكبر | ||
|asort() | |<code>[[PHP/asort|asort()]]</code> | ||
|- | |- | ||
|natcasesort() | |<code>[[PHP/natcasesort|natcasesort()]]</code> | ||
|القيمة | |القيمة | ||
|نعم | |نعم | ||
|الترتيب الطبيعي، دون أخذ حالة الأحرف بالحسبان | |الترتيب الطبيعي، دون أخذ حالة الأحرف بالحسبان | ||
|natsort() | |<code>[[PHP/natsort|natsort()]]</code> | ||
|- | |- | ||
|natsort() | |<code>[[PHP/natsort|natsort()]]</code> | ||
|القيمة | |القيمة | ||
|نعم | |نعم | ||
|طبيعي | |طبيعي | ||
|natcasesort() | |<code>[[PHP/natcasesort|natcasesort()]]</code> | ||
|- | |- | ||
|rsort() | |<code>[[PHP/rsort|rsort()]]</code> | ||
|القيمة | |القيمة | ||
|لا | |لا | ||
|الأكبر إلى الأصغر | |الأكبر إلى الأصغر | ||
|sort() | |<code>[[PHP/sort|sort()]]</code> | ||
|- | |- | ||
|shuffle() | |<code>[[PHP/shuffle|shuffle()]]</code> | ||
|القيمة | |القيمة | ||
|لا | |لا | ||
|عشوائي | |عشوائي | ||
|array_rand() | |<code>[[PHP/array_rand|array_rand()]]</code> | ||
|- | |- | ||
|sort() | |<code>[[PHP/sort|sort()]]</code> | ||
|القيمة | |القيمة | ||
|لا | |لا | ||
|الأصغر إلى الأكبر | |الأصغر إلى الأكبر | ||
|rsort() | |<code>[[PHP/rsort|rsort()]]</code> | ||
|- | |- | ||
|uasort() | |<code>[[PHP/uasort|uasort()]]</code> | ||
|القيمة | |القيمة | ||
|نعم | |نعم | ||
|يحددها المستخدم | |يحددها المستخدم | ||
|uksort() | |<code>[[PHP/uksort|uksort()]]</code> | ||
|- | |- | ||
|uksort() | |<code>[[PHP/uksort|uksort()]]</code> | ||
|المفتاح | |المفتاح | ||
|نعم | |نعم | ||
|يحددها المستخدم | |يحددها المستخدم | ||
|uasort() | |<code>[[PHP/uasort|uasort()]]</code> | ||
|- | |- | ||
|usort() | |<code>[[PHP/usort|usort()]]</code> | ||
|القيمة | |القيمة | ||
|لا | |لا | ||
|يحددها المستخدم | |يحددها المستخدم | ||
|uasort() | |<code>[[PHP/uasort|uasort()]]</code> | ||
|} | |} | ||
== | == مصادر == | ||
* [http://php.net/manual/en/array.sorting.php صفحة Sorting Arrays في توثيق PHP الرسمي.] | * [http://php.net/manual/en/array.sorting.php صفحة Sorting Arrays في توثيق PHP الرسمي.] | ||
[[تصنيف:PHP]] | |||
[[تصنيف:PHP Function]] | |||
[[تصنيف:PHP Array]] |
المراجعة الحالية بتاريخ 03:49، 4 أبريل 2018
تحتوي لغة 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()
|