الدالة 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(): ترتيب مصفوفة بترتيب عكسي. - مقارنة بين دوال ترتيب المصفوفة.