الفرق بين المراجعتين لصفحة: «PHP/sort»
Khaled-yassin (نقاش | مساهمات) طلا ملخص تعديل |
ط ←مصادر |
||
(5 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:<code> | <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 | |||
|إضافة دعم لـ <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>. وستزيل أي مفاتيح موجودة قد سبق تعيينها، بدلاً من مجرد إعادة ترتيب المفاتيح. | ||
ملاحظة: مثل معظم دوال الترتيب في PHP، تستخدم الدالة <code>sort()</code> تطبيقًا لـخوارزمية [[wikipedia:Quicksort|Quicksort]]. ويُختار المحور (pivot) في منتصف القسم مما يحقق الوقت الأمثل في حالة المصفوفات المُرتّبة بالفعل. | ملاحظة: مثل معظم دوال الترتيب في PHP، تستخدم الدالة <code>sort()</code> تطبيقًا لـخوارزمية [[wikipedia:Quicksort|Quicksort]]. ويُختار المحور (pivot) في منتصف القسم مما يحقق الوقت الأمثل في حالة المصفوفات المُرتّبة بالفعل. | ||
تحذير: كن | تحذير: كن حذرًا عند ترتيب مصفوفات بقيم أنواع مختلطة لأن الدالة <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()
يمكن أن تؤدي إلى نتائج غير متوقعة.
انظر ايضًا
- الدالة
asort()
: ترتيب المصفوفة والحفاظ على ارتباط الفهارس مع القيم المرتبطة بها. - الدالة
rsort()
: ترتيب مصفوفة بترتيب عكسي. - مقارنة بين دوال ترتيب المصفوفة.