الفرق بين المراجعتين لصفحة: «PHP/sort»

من موسوعة حسوب
< PHP
طلا ملخص تعديل
 
(5 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:<code>‎‎‎‎‎‎‎‎الدالة sort()‎‎‎‎‎‎‎‎‎‎‎‎‎ في PHP</code>}}</noinclude>
<noinclude>{{DISPLAYTITLE:‎‎‎‎‎‎‎‎الدالة <code>sort()‎‎‎‎‎‎‎‎‎‎‎‎‎</code> في PHP}}</noinclude>
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


تُرتب الدالة <code>sort()‎‎‎‎‎‎‎‎‎‎‎‎‎</code>‎ عناصر المصفوفة
تُرتب الدالة <code>sort()‎‎‎‎‎‎‎‎‎‎‎‎‎</code>‎ عناصر المصفوفة.


== الوصف ==
== الوصف ==
سطر 32: سطر 32:
== سجل التغييرات ==
== سجل التغييرات ==
{| class="wikitable"
{| class="wikitable"
!
!الإصدار  
=== الإصدار ===
!الوصف  
!
=== الوصف ===
|-
|-
|
|
=== 5.4.0 ===
5.4.0
|إضافة دعم لـ <code>SORT_NATURAL</code> و <code>SORT_FLAG_CASE</code> كقيم محتملة للمعامل <code>sort_flag</code>.
|إضافة دعم لـ <code>SORT_NATURAL</code> و <code>SORT_FLAG_CASE</code> كقيم محتملة للمعامل <code>sort_flag</code>.
|-
|-
سطر 61: سطر 59:
fruits[2] = lemon
fruits[2] = lemon
fruits[3] = orange
fruits[3] = orange
</syntaxhighlight>رُتبت المصفوفة fruits بترتيب هجائي.
</syntaxhighlight>رُتبت المصفوفة <code>fruits</code> بترتيب هجائي.


المثال 2: مثال على الدالة <code>sort()‎</code> باستخدام الترتيب الطبيعي غير الحساس لحالة الأحرف<syntaxhighlight lang="php">
المثال 2: مثال على الدالة <code>sort()‎</code> باستخدام الترتيب الطبيعي غير الحساس لحالة الأحرف<syntaxhighlight lang="php">
سطر 83: سطر 81:


== ملاحظات ==
== ملاحظات ==
ملاحظة: تقوم هذه الوظيفة بتعيين مفاتيح جديدة للعناصر في المصفوف <code>array</code>. وستزيل أي مفاتيح موجودة قد سبق تعيينها، بدلاً من مجرد إعادة ترتيب المفاتيح.
ملاحظة: تضبط هذه الدالة مفاتيح جديدة للعناصر في المصفوفة <code>array</code>. وستزيل أي مفاتيح موجودة قد سبق تعيينها، بدلاً من مجرد إعادة ترتيب المفاتيح.


ملاحظة: مثل معظم دوال الترتيب في PHP، تستخدم الدالة <code>sort()‎‎‎‎‎‎‎‎‎‎‎‎‎</code>‎‎ تطبيقًا لـخوارزمية [[wikipedia:Quicksort|Quicksort]]. ويُختار المحور (pivot) في منتصف القسم مما يحقق الوقت الأمثل في حالة المصفوفات المُرتّبة بالفعل.
ملاحظة: مثل معظم دوال الترتيب في PHP، تستخدم الدالة <code>sort()‎‎‎‎‎‎‎‎‎‎‎‎‎</code>‎‎ تطبيقًا لـخوارزمية [[wikipedia:Quicksort|Quicksort]]. ويُختار المحور (pivot) في منتصف القسم مما يحقق الوقت الأمثل في حالة المصفوفات المُرتّبة بالفعل.


تحذير: كن حذراً عند ترتيب مصفوفات بقيم أنواع مختلطة لأن الدالة <code>sort()‎‎‎‎‎‎‎‎‎‎‎‎‎</code> يمكن أن تؤدي إلى نتائج غير متوقعة.
تحذير: كن حذرًا عند ترتيب مصفوفات بقيم أنواع مختلطة لأن الدالة <code>sort()‎‎‎‎‎‎‎‎‎‎‎‎‎</code> يمكن أن تؤدي إلى نتائج غير متوقعة.


= انظر ايضًا =
== انظر ايضًا ==
* الدالة <code>[[PHP/asort|asort()‎]]</code>: ترتيب المصفوفة والحفاظ على ارتباط الفهارس مع القيم المرتبطة بها.
* الدالة <code>[[PHP/asort|asort()‎]]</code>: ترتيب المصفوفة والحفاظ على ارتباط الفهارس مع القيم المرتبطة بها.
* الدالة <code>[[PHP/rsort|rsort()‎]]</code>: ترتيب مصفوفة بترتيب عكسي.
* الدالة <code>[[PHP/rsort|rsort()‎]]</code>: ترتيب مصفوفة بترتيب عكسي.

المراجعة الحالية بتاريخ 02:50، 14 أبريل 2018

(PHP 4, PHP 5, PHP 7)

تُرتب الدالة sort()‎‎‎‎‎‎‎‎‎‎‎‎‎‎ عناصر المصفوفة.

الوصف

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

تُرتب هذه الدالة المصفوفة. ويصبح ترتيب العناصر من الأدنى إلى الأعلى عند انتهاء هذه الدالة.

ملاحظة: إذا تساوت مقارنة عنصرين، فإن ترتيبهما النسبي في المصفوفة المُرتّبة يكون غير محدد.

المعاملات

array

المصفوفة المُدخلة.

sort_flags

يمكن استخدام المعامل الثاني الاختياري sort_flags لتعديل سلوك الترتيب باستخدام هذه القيم:

رايات أنواع الترتيب:

  • SORT_REGULAR: مقارنة العناصر بشكل طبيعي (دون تغيير الأنواع).
  • SORT_NUMERIC: مقارنة العناصر رقميًا.
  • SORT_STRING: مقارنة العناصر كسلاسل نصية.
  • SORT_LOCALE_STRING: مقارنة العناصر كسلاسل نصية، استنادًا إلى المحلية الحالية. وتُستخدم المحلية والتي يمكن تغييرها باستخدام setlocale()‎.
  • SORT_NATURAL: مقارنة العناصر كسلاسل باستخدام "الترتيب الطبيعي" مثل natsort()‎.
  • SORT_FLAG_CASE: يمكن دمجه (باستخدام المعامل الثنائي OR) مع SORT_STRING أو SORT_NATURAL لترتيب السلاسل بطريقة غير حساسة لحالة الحرف.

القيم المعادة

تُعيد الدالة القيمة TRUE عند نجاح عملها، أو FALSE عند فشل تنفيذها.

سجل التغييرات

الإصدار الوصف

5.4.0

إضافة دعم لـ SORT_NATURAL و SORT_FLAG_CASE كقيم محتملة للمعامل sort_flag.
5.0.2 إضافة SORT_LOCALE_STRING.

أمثلة

المثال 1: مثال على الدالة ()‎‎sort

<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

رُتبت المصفوفة fruits بترتيب هجائي. المثال 2: مثال على الدالة sort()‎ باستخدام الترتيب الطبيعي غير الحساس لحالة الأحرف

<?php

$fruits = array(
    "Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

fruits[0] = Orange1
fruits[1] = orange2
fruits[2] = Orange3
fruits[3] = orange20

رُتبت المصفوفة fruits مثلما في حالة استخدام الدالة natcasesort()‎‎.

ملاحظات

ملاحظة: تضبط هذه الدالة مفاتيح جديدة للعناصر في المصفوفة array. وستزيل أي مفاتيح موجودة قد سبق تعيينها، بدلاً من مجرد إعادة ترتيب المفاتيح.

ملاحظة: مثل معظم دوال الترتيب في PHP، تستخدم الدالة sort()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ تطبيقًا لـخوارزمية Quicksort. ويُختار المحور (pivot) في منتصف القسم مما يحقق الوقت الأمثل في حالة المصفوفات المُرتّبة بالفعل.

تحذير: كن حذرًا عند ترتيب مصفوفات بقيم أنواع مختلطة لأن الدالة sort()‎‎‎‎‎‎‎‎‎‎‎‎‎ يمكن أن تؤدي إلى نتائج غير متوقعة.

انظر ايضًا

مصادر