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

من موسوعة حسوب
< PHP
ط نقل عبد اللطيف ايمش صفحة PHP/Function/array-multisort إلى PHP/array multisort: إعادة هيكلة التوثيق
 
(10 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:<code>array-replace()</code>}}</noinclude>
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP Array]]
<noinclude>{{DISPLAYTITLE:<code>array_multisort()‎</code>}}</noinclude>
<noinclude>{{DISPLAYTITLE:<code>array_multisort()‎</code>}}</noinclude>
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


تُرتِّب الدالة <code>array_multisort()</code>‎ عدة مصفوفات أو المصفوفات متعددة الأبعاد
تُرتِّب الدالة <code>array_multisort()</code>‎ عدة مصفوفات أو المصفوفات متعددة الأبعاد.


== الوصف ==
== الوصف ==
سطر 22: سطر 14:


== المعاملات ==
== المعاملات ==
<code>array1</code>


=== <code>array1</code> ===
المصفوفة المراد ترتيبها.
المصفوفة المراد ترتيبها.


<code>array1_sort_order</code>
=== <code>array1_sort_order</code> ===
 
الوسيط المستخدم لترتيب المصفوفة السابقة. إما أن يكون <code>SORT_ASC</code> للترتيب التصاعدي أو <code>SORT_DESC</code> للترتيب التنازلي.
الوسيط المستخدم لترتيب المصفوفة السابقة. إما أن يكون <code>SORT_ASC</code> للترتيب التصاعدي أو <code>SORT_DESC</code> للترتيب التنازلي.


يمكن تبديل هذا الوسيط مع <code>array1_sort_flags</code> أو حذفه بالكامل، وفي هذه الحالة سيُفترض أنَّه <code>SORT_ASC</code> .
يمكن تبديل هذا الوسيط مع <code>array1_sort_flags</code> أو حذفه بالكامل، وفي هذه الحالة سيُفترض أنَّه <code>SORT_ASC</code> .


<code>array1_sort_flags</code>
=== <code>array1_sort_flags</code> ===
 
وسيطٌ يُحدِّد خيارات ترتيب المصفوفة السابقة:
وسيطٌ يُحدِّد خيارات ترتيب المصفوفة السابقة:


سطر 40: سطر 30:
* <code>SORT_NUMERIC</code>: مقارنة العناصر رقميًا.
* <code>SORT_NUMERIC</code>: مقارنة العناصر رقميًا.
* <code>SORT_STRING</code>: مقارنة العناصر كسلاسل نصية
* <code>SORT_STRING</code>: مقارنة العناصر كسلاسل نصية
* <code>SORT_LOCALE_STRING</code>: مقارنة العناصر كسلاسل نصية استنادًا إلى المحلية الحالية (current locale). ستستخدم هذه الدالة المحلية والتي يمكن تغييرها باستخدام الدالة [[PHP/Function/setlocale|<code>setlocale()</code>‎]].
* <code>SORT_LOCALE_STRING</code>: مقارنة العناصر كسلاسل نصية استنادًا إلى المحلية الحالية (current locale). ستستخدم هذه الدالة المحلية والتي يمكن تغييرها باستخدام الدالة [[PHP/setlocale|<code>setlocale()</code>‎]].
* <code>SORT_NATURAL</code>: مقارنة العناصر كسلاسل باستخدام الترتيب طبيعي مثل <code>[[PHP/Function/natsort|natsort()‎]]</code>.
* <code>SORT_NATURAL</code>: مقارنة العناصر كسلاسل باستخدام الترتيب طبيعي مثل <code>[[PHP/natsort|natsort()‎]]</code>.
* <code>SORT_FLAG_CASE</code>: يمكن جمعه (باستخدام المعامل الثنائي OR) مع <code>SORT_STRING</code> أو <code>SORT_NATURAL</code> لترتيب السلاسل بطريقة غير حساسة لحالة الحرف
* <code>SORT_FLAG_CASE</code>: يمكن جمعه (باستخدام المعامل الثنائي OR) مع <code>SORT_STRING</code> أو <code>SORT_NATURAL</code> لترتيب السلاسل بطريقة غير حساسة لحالة الحرف
يمكن تبديل هذه الوسيط مع <code>array1_sort_order</code> أو حذفه بالكامل، وفي هذه الحالة سيُفترض أنَّه <code>SORT_REGULAR</code> .
يمكن تبديل هذه الوسيط مع <code>array1_sort_order</code> أو حذفه بالكامل، وفي هذه الحالة سيُفترض أنَّه <code>SORT_REGULAR</code> .


...
=== <code>...</code> ===
 
المزيد من المصفوفات، يتبعها طريقة الترتيب والرايات اختياريًا. تُقارن فقط العناصر المقابلة للعناصر المكافئة في المصفوفات السابقة. وبعبارة أخرى ، فإن الترتيب معجمي.
المزيد من المصفوفات، يتبعها طريقة الترتيب والرايات اختياريًا. تُقارن فقط العناصر المقابلة للعناصر المكافئة في المصفوفات السابقة. وبعبارة أخرى ، فإن الترتيب معجمي.


== القيم المعادة ==
== القيم المعادة ==
تُعيد الدالة <code>TRUE</code> عند النجاح أو <code>FALSE</code> عند الفشل.
تُعيد الدالة <code>array_multisort()</code>‎  القيمة <code>TRUE</code> عند النجاح أو <code>FALSE</code> عند الفشل.


== سجل التغييرات ==
== سجل التغييرات ==
سطر 58: سطر 47:
|-
|-
|5.4.0
|5.4.0
|إضافة SORT_NATURAL و SORT_FLAG_CASE إلى array1_sort_flags كرايات ترتيب ممكنة.
|إضافة <code>SORT_NATURAL</code> و <code>SORT_FLAG_CASE</code> إلى <code>array1_sort_flags</code> كرايات ترتيب ممكنة.
|-
|-
|5.3.0
|5.3.0
|إضافة SORT_LOCALE_STRING إلى array1_sort_flags كرايات ترتيب ممكنة.
|إضافة <code>SORT_LOCALE_STRING</code> إلى <code>array1_sort_flags</code> كرايات ترتيب ممكنة.
|}
|}


سطر 67: سطر 56:
المثال 1: ترتيب عدة مصفوفات<syntaxhighlight lang="php">
المثال 1: ترتيب عدة مصفوفات<syntaxhighlight lang="php">
<?php
<?php
$ar1 = array(10, 100, 100, 0);
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);
array_multisort($ar1, $ar2);
var_dump($ar1);
var_dump($ar1);
var_dump($ar2);
var_dump($ar2);
?>
?>
</syntaxhighlight>في هذا المثال، ستحتوي المصفوفة الأولى على 0، 10، 100، 100. وتحتوي المصفوفة الثانية على 4، 1، 2، 3. ورُتِّبت أيضًا عناصر المصفوفة الثانية بما يقابل العناصر المتطابقة في المصفوفة الأولى (100 و 100).<syntaxhighlight lang="php">
</syntaxhighlight>في هذا المثال، ستحتوي المصفوفة الأولى على 0، 10، 100، 100. وتحتوي المصفوفة الثانية على 4، 1، 2، 3. ورُتِّبت أيضًا عناصر المصفوفة الثانية بما يقابل العناصر المتطابقة في المصفوفة الأولى (100 و 100).<syntaxhighlight lang="php">
array(4) {
array(4) {
 [0]=> int(0)
 [0]=> int(0)
 [1]=> int(10)
 [1]=> int(10)
 [2]=> int(100)
 [2]=> int(100)
 [3]=> int(100)
 [3]=> int(100)
}
}
array(4) {
array(4) {
 [0]=> int(4)
 [0]=> int(4)
 [1]=> int(1)
 [1]=> int(1)
 [2]=> int(2)
 [2]=> int(2)
 [3]=> int(3)
 [3]=> int(3)
}
}
</syntaxhighlight>المثال 2: ترتيب مصفوفة متعددة الأبعاد<syntaxhighlight lang="php">
</syntaxhighlight>المثال 2: ترتيب مصفوفة متعددة الأبعاد<syntaxhighlight lang="php">
<?php
<?php
$ar = array(
$ar = array(
      array("10", 11, 100, 100, "a"),
      array("10", 11, 100, 100, "a"),
      array(  1,  2, "2",   3,   1)
      array(  1,  2, "2",   3,   1)
     );
     );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
array_multisort($ar[0], SORT_ASC, SORT_STRING,
               $ar[1], SORT_NUMERIC, SORT_DESC);
               $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
var_dump($ar);
?>
?>
</syntaxhighlight>ستتحول المصفوفة الأولى في هذا المثال، بعد الترتيب إلى "10" و 100 و 100 و 11 و "a" (رتِّبَت كسلاسل نصية بترتيب تصاعدي). وتحتوي الثانية على 1، 3، "2"، 2، 1 (مرتبة كأرقام، بترتيب تنازلي).<syntaxhighlight lang="php">
</syntaxhighlight>ستتحول المصفوفة الأولى في هذا المثال، بعد الترتيب إلى "10" و 100 و 100 و 11 و "a" (رتِّبَت كسلاسل نصية بترتيب تصاعدي). وتحتوي الثانية على 1، 3، "2"، 2، 1 (مرتبة كأرقام، بترتيب تنازلي).<syntaxhighlight lang="php">
array(2) {
array(2) {
 [0]=> array(5) {
 [0]=> array(5) {
   [0]=> string(2) "10"
   [0]=> string(2) "10"
   [1]=> int(100)
   [1]=> int(100)
   [2]=> int(100)
   [2]=> int(100)
   [3]=> int(11)
   [3]=> int(11)
   [4]=> string(1) "a"
   [4]=> string(1) "a"
 }
 }
 [1]=> array(5) {
 [1]=> array(5) {
   [0]=> int(1)
   [0]=> int(1)
   [1]=> int(3)
   [1]=> int(3)
   [2]=> string(1) "2"
   [2]=> string(1) "2"
   [3]=> int(2)
   [3]=> int(2)
   [4]=> int(1)
   [4]=> int(1)
 }
 }
}
}
</syntaxhighlight>المثال 3: ترتيب نتائج قاعدة بيانات
</syntaxhighlight>المثال 3: ترتيب نتائج قاعدة بيانات


سطر 167: سطر 108:
بيانات المثال:<syntaxhighlight lang="php">
بيانات المثال:<syntaxhighlight lang="php">
volume | edition
volume | edition
-------+--------
-------+--------
 
    67 |       2
   67 |       2
    86 |       1
 
    85 |       6
   86 |       1
    98 |       2
 
    86 |       6
   85 |       6
    67 |       7
 
   98 |       2
 
   86 |       6
 
   67 |       7
 


</syntaxhighlight>يمكن تخزين البيانات السابقة في مصفوفة وليكن اسمها data، عادة ما نحصل على مثل هذه المصفوفات عن طريق حلقات التكرار مع استخدام <code>mysqli_fetch_assoc()‎</code>:<syntaxhighlight lang="php">
</syntaxhighlight>يمكن تخزين البيانات السابقة في مصفوفة وليكن اسمها data، عادة ما نحصل على مثل هذه المصفوفات عن طريق حلقات التكرار مع استخدام <code>mysqli_fetch_assoc()‎</code>:<syntaxhighlight lang="php">
<?php
<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
$data[] = array('volume' => 67, 'edition' => 7);
?>
?>
</syntaxhighlight>سنرتِّب القيم في هذا المثال تنازليًا حسب الحجم (volume)، وحسب الإصدار (edition) تصاعديًا.
</syntaxhighlight>سنرتِّب القيم في هذا المثال تنازليًا حسب الحجم (volume)، وحسب الإصدار (edition) تصاعديًا.


لدينا مصفوفة من الصفوف، ولكن تتطلب الدالة <code>array_multisort()‎</code> مصفوفةً من الأعمدة، لذلك نستخدم الشيفرة التالية للحصول على الأعمدة، ثم سنُجري الترتيب.<syntaxhighlight lang="php">
لدينا مصفوفة من الصفوف، ولكن تتطلب الدالة <code>array_multisort()‎</code> مصفوفةً من الأعمدة، لذلك نستخدم الشيفرة التالية للحصول على الأعمدة، ثم سنُجري الترتيب.<syntaxhighlight lang="php">
<?php
<?php
// الحصول على قائمة من الأعمدة
// الحصول على قائمة من الأعمدة
foreach ($data as $key => $row) {
foreach ($data as $key => $row) {
   $volume[$key]  = $row['volume'];
   $volume[$key]  = $row['volume'];
   $edition[$key] = $row['edition'];
   $edition[$key] = $row['edition'];
}
}
// ترتيب البيانات حسب الحجم تنازليًا، وحسب الإصدار تصاعديًا
// ترتيب البيانات حسب الحجم تنازليًا، وحسب الإصدار تصاعديًا
// إضافة data$ كآخر وسيط للترتيب حسب المفتاح المشترك
// إضافة data$ كآخر وسيط للترتيب حسب المفتاح المشترك
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>
?>
</syntaxhighlight>ستبدو مجموعة البيانات بعد الترتيب الآن كما يلي:<syntaxhighlight lang="php">
</syntaxhighlight>ستبدو مجموعة البيانات بعد الترتيب الآن كما يلي:<syntaxhighlight lang="php">
volume | edition
volume | edition
-------+--------
-------+--------
 
    98 |       2
   98 |       2
    86 |       1
 
    86 |       6
   86 |       1
    85 |       6
 
    67 |       2
   86 |       6
    67 |       7
 
   85 |       6
 
   67 |       2
 
   67 |       7
 


</syntaxhighlight>المثال 4: ترتيب المصفوفات غير الحساس لحالة الأحرف
</syntaxhighlight>المثال 4: ترتيب المصفوفات غير الحساس لحالة الأحرف
سطر 249: سطر 154:
لتنفيذ ترتيب غير حساس لحالة الأحرف، فعلينا إجراء عملية الترتيب على نسخة أخرى من المصفوفة بعد تحويل أحرفها إلى الحالة الصغيرة..<syntaxhighlight lang="php">
لتنفيذ ترتيب غير حساس لحالة الأحرف، فعلينا إجراء عملية الترتيب على نسخة أخرى من المصفوفة بعد تحويل أحرفها إلى الحالة الصغيرة..<syntaxhighlight lang="php">
<?php
<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);
$array_lowercase = array_map('strtolower', $array);
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);
print_r($array);
print_r($array);
?>
?>
</syntaxhighlight>سوف ينتج المثال أعلاه:<syntaxhighlight lang="php">
</syntaxhighlight>سوف ينتج المثال أعلاه:<syntaxhighlight lang="php">
Array
Array
(
(
   [0] => Alpha
   [0] => Alpha
   [1] => atomic
   [1] => atomic
   [2] => bank
   [2] => bank
   [3] => Beta
   [3] => Beta
)
)
</syntaxhighlight>
</syntaxhighlight>


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة [[PHP/Function/usort|usort()‎]]: ترتيب مصفوفة باستخدام دالة مقارنة مُعرَّفة من طرف المستخدم.
* الدالة <code>[[PHP/usort|usort()‎]]</code>: ترتيب مصفوفة باستخدام دالة مقارنة مُعرَّفة من طرف المستخدم.
* [[PHP/Function/array.sorting|مقارنة بين دوال الترتيب الخاصة بالمصفوفات]].
* [[PHP/array Sorting|مقارنة بين دوال الترتيب الخاصة بالمصفوفات]].


== مصادر ==
== مصادر ==
* [http://php.net/manual/en/function.array-multisort.php صفحة الدالة array_multisort()‎ في توثيق PHP الرسمي.]
* [http://php.net/manual/en/function.array-multisort.php صفحة الدالة array_multisort في توثيق PHP الرسمي.]
 
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP Array]]

المراجعة الحالية بتاريخ 03:49، 4 أبريل 2018

(PHP 4, PHP 5, PHP 7)

تُرتِّب الدالة array_multisort()‎ عدة مصفوفات أو المصفوفات متعددة الأبعاد.

الوصف

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed$array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )

يمكن استخدام الدالة array_multisort()‎ لترتيب عدة مصفوفات دفعةً واحدةً، أو بُعد واحد أو أكثر في حالة المصفوفة متعددة الأبعاد.

ويُحتَفَظ بالمفاتيح المقترنة من النوع string، ولكن ستُعاد فهرسة المفاتيح الرقمية.

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

المعاملات

array1

المصفوفة المراد ترتيبها.

array1_sort_order

الوسيط المستخدم لترتيب المصفوفة السابقة. إما أن يكون SORT_ASC للترتيب التصاعدي أو SORT_DESC للترتيب التنازلي.

يمكن تبديل هذا الوسيط مع array1_sort_flags أو حذفه بالكامل، وفي هذه الحالة سيُفترض أنَّه SORT_ASC .

array1_sort_flags

وسيطٌ يُحدِّد خيارات ترتيب المصفوفة السابقة:

رايات (flags) أنواع الترتيب:

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

يمكن تبديل هذه الوسيط مع array1_sort_order أو حذفه بالكامل، وفي هذه الحالة سيُفترض أنَّه SORT_REGULAR .

...

المزيد من المصفوفات، يتبعها طريقة الترتيب والرايات اختياريًا. تُقارن فقط العناصر المقابلة للعناصر المكافئة في المصفوفات السابقة. وبعبارة أخرى ، فإن الترتيب معجمي.

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

تُعيد الدالة array_multisort()‎ القيمة TRUE عند النجاح أو FALSE عند الفشل.

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

الإصدار الوصف
5.4.0 إضافة SORT_NATURAL و SORT_FLAG_CASE إلى array1_sort_flags كرايات ترتيب ممكنة.
5.3.0 إضافة SORT_LOCALE_STRING إلى array1_sort_flags كرايات ترتيب ممكنة.

أمثلة

المثال 1: ترتيب عدة مصفوفات

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);
var_dump($ar1);
var_dump($ar2);
?>

في هذا المثال، ستحتوي المصفوفة الأولى على 0، 10، 100، 100. وتحتوي المصفوفة الثانية على 4، 1، 2، 3. ورُتِّبت أيضًا عناصر المصفوفة الثانية بما يقابل العناصر المتطابقة في المصفوفة الأولى (100 و 100).

array(4) {
 [0]=> int(0)
 [1]=> int(10)
 [2]=> int(100)
 [3]=> int(100)
}
array(4) {
 [0]=> int(4)
 [1]=> int(1)
 [2]=> int(2)
 [3]=> int(3)
}

المثال 2: ترتيب مصفوفة متعددة الأبعاد

<?php
$ar = array(
      array("10", 11, 100, 100, "a"),
      array(  1,  2, "2",   3,   1)
     );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
               $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

ستتحول المصفوفة الأولى في هذا المثال، بعد الترتيب إلى "10" و 100 و 100 و 11 و "a" (رتِّبَت كسلاسل نصية بترتيب تصاعدي). وتحتوي الثانية على 1، 3، "2"، 2، 1 (مرتبة كأرقام، بترتيب تنازلي).

array(2) {
 [0]=> array(5) {
   [0]=> string(2) "10"
   [1]=> int(100)
   [2]=> int(100)
   [3]=> int(11)
   [4]=> string(1) "a"
 }
 [1]=> array(5) {
   [0]=> int(1)
   [1]=> int(3)
   [2]=> string(1) "2"
   [3]=> int(2)
   [4]=> int(1)
 }
}

المثال 3: ترتيب نتائج قاعدة بيانات

في هذا المثال، يمثل كل عنصر في مصفوفة البيانات صفًا واحدًا في جدول. يُعدّ هذا النوع من مجموعة البيانات نموذجيًا لسجلات قاعدة البيانات.

بيانات المثال:

volume | edition
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

يمكن تخزين البيانات السابقة في مصفوفة وليكن اسمها data، عادة ما نحصل على مثل هذه المصفوفات عن طريق حلقات التكرار مع استخدام mysqli_fetch_assoc()‎:

<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
?>

سنرتِّب القيم في هذا المثال تنازليًا حسب الحجم (volume)، وحسب الإصدار (edition) تصاعديًا. لدينا مصفوفة من الصفوف، ولكن تتطلب الدالة array_multisort()‎ مصفوفةً من الأعمدة، لذلك نستخدم الشيفرة التالية للحصول على الأعمدة، ثم سنُجري الترتيب.

<?php
// الحصول على قائمة من الأعمدة
foreach ($data as $key => $row) {
   $volume[$key]  = $row['volume'];
   $edition[$key] = $row['edition'];
}
// ترتيب البيانات حسب الحجم تنازليًا، وحسب الإصدار تصاعديًا
// إضافة data$ كآخر وسيط للترتيب حسب المفتاح المشترك
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>

ستبدو مجموعة البيانات بعد الترتيب الآن كما يلي:

volume | edition
-------+--------
    98 |       2
    86 |       1
    86 |       6
    85 |       6
    67 |       2
    67 |       7

المثال 4: ترتيب المصفوفات غير الحساس لحالة الأحرف

كلًا من SORT_STRING و SORT_REGULAR حساسيْن لحالة الأحرف، وتأتي السلاسل التي تبدأ بحرف كبير قبل السلاسل التي تبدأ بحرف صغير.

لتنفيذ ترتيب غير حساس لحالة الأحرف، فعلينا إجراء عملية الترتيب على نسخة أخرى من المصفوفة بعد تحويل أحرفها إلى الحالة الصغيرة..

<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);
print_r($array);
?>

سوف ينتج المثال أعلاه:

Array
(
   [0] => Alpha
   [1] => atomic
   [2] => bank
   [3] => Beta
)

انظر أيضًا

مصادر