(PHP 4, PHP 5, PHP 7, PHP 8)
uasort — Sort an array with a user-defined comparison function and maintain index association
Sorts array
in place such that its keys
maintain their correlation with the values they are associated with,
using a user-defined comparison function.
This is used mainly when sorting associative arrays where the actual element order is significant.
Зауваження:
Якщо два члени порівняння однакові, їхній порядок зберігається. До PHP 8.0.0, їхній відносний порядок у впорядкованому масиві був невизначеним.
Зауваження:
Скидає внутрішній вказівник масиву на перший елемент.
array
The input array.
callback
Порівняльна функція має повертати ціле число, котре менше, рівне або більше нуля, якщо перший параметр вважається відповідно меншим, рівним або більшим за другий.
Завжди повертає true
.
Версія | Опис |
---|---|
8.2.0 |
Тепер повертається значення типу true . До цього був bool.
|
8.0.0 |
Тепер функція видасть E_WARNING , якщо
callback очікує параметр за посиланням.
|
Приклад #1 Basic uasort() example
<?php
// Comparison function
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Array to be sorted
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);
// Sort and print the resulting 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 )