الدالة uasort()‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في PHP

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث

(PHP 4, PHP 5, PHP 7)

تُرتب الدالة uasort()‎ مصفوفة باستخدام دالة مقارنة معرفة من قبل المستخدم وتُحفاظ على ارتباط الفهارس بالقيم المقابلة.

الوصف

bool uasort ( array &$array , callable $value_compare_func )

تُرتب هذه الدالة المصفوفة وتُحفاظ على ارتباط الفهارس بالقيم المقابلة، وذلك باستخدام دالة مقارنة معرفة من قبل المستخدم.

وتُستخدم هذه الدالة بشكل أساسي عند ترتيب المصفوفات الترابطية والتي يكون ترتيب العناصر الفعلي فيها مهمًا.

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

المعاملات

array

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

value_compare_func

انظر الدوال usort()‎‎ و uksort()‎‎ للحصول على أمثلة لوظائف المقارنة المعرفة بواسطة المستخدم.

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

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

أمثلة

المثال 1: مثال بسيط للدالة uasort()‎‎

<?php
// دالة المقارنة
function cmp($a, $b) {
   if ($a == $b) {
       return 0;
   }
   return ($a < $b) ? -1 : 1;
}
// المصفوفة المُراد ترتيبها
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);
// ترتيب وطباعة المصفوفة الناتجة
uasort($array, 'cmp');
print_r($array);
?>

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

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

انظر أيضًا

مصادر