الدالة sort()
في PHP
(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()
يمكن أن تؤدي إلى نتائج غير متوقعة.
انظر ايضًا
- الدالة
asort()
: ترتيب المصفوفة والحفاظ على ارتباط الفهارس مع القيم المرتبطة بها. - الدالة
rsort()
: ترتيب مصفوفة بترتيب عكسي. - مقارنة بين دوال ترتيب المصفوفة.