Note that return values between (-1, 1) are being considered as 0.ArrayObject::uasort
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
ArrayObject::uasort
Референца за `arrayobject.uasort.php` со подобрена типографија и навигација.
ArrayObject::uasort
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::uasort — Сортирај ги записите со кориснички дефинирана функција за споредба и одржи ја асоцијацијата на клучевите
= NULL
Оваа функција ги сортира записите така што клучевите ја одржуваат својата корелација со записот со кој се поврзани, користејќи кориснички дефинирана функција за споредба.
Ова се користи главно при сортирање на асоцијативни низи каде што реалниот редослед на елементите е значаен.
Забелешка: Ако два члена се споредат како еднакви, тие го задржуваат својот оригинален редослед. Пред PHP 8.0.0, нивниот релативен редослед во сортираната низа беше недефиниран.
Параметри
callback-
Функцијата за споредба мора да врати цел број помал, еднаков или поголем од нула ако првиот аргумент се смета за помал, еднаков или поголем од вториот, соодветно.
Безбедност: стандардниот сет на знаци
Враќање non-integer вредности од функцијата за споредба, како што се floatќе резултира со внатрешно префрлање во int на вратената вредност на повиканата функција. Така вредности како
0.99and0.1ќе бидат префрлени во цел број од0, што ќе ги спореди таквите вредности како еднакви.
Вратени вредности
Секогаш враќа true.
Примери
Пример #1 ArrayObject::natcasesort() 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);
$arrayObject = new ArrayObject($array);
var_dump($arrayObject);
// Sort and print the resulting array
$arrayObject->uasort('cmp');
var_dump($arrayObject);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
object(ArrayObject)#1 (1) {
["storage":"ArrayObject":private]=>
array(8) {
["a"]=>
int(4)
["b"]=>
int(8)
["c"]=>
int(-1)
["d"]=>
int(-9)
["e"]=>
int(2)
["f"]=>
int(5)
["g"]=>
int(3)
["h"]=>
int(-4)
}
}
object(ArrayObject)#1 (1) {
["storage":"ArrayObject":private]=>
array(8) {
["d"]=>
int(-9)
["h"]=>
int(-4)
["c"]=>
int(-1)
["e"]=>
int(2)
["g"]=>
int(3)
["a"]=>
int(4)
["f"]=>
int(5)
["b"]=>
int(8)
}
}
Види Исто така
- Ги сортира записите во растечки редослед, така што неговите клучеви ја одржуваат својата корелација со вредностите со кои се поврзани. - Сортирај ги записите по вредност
- Плодовите се сортирани по азбучен ред, а клучот поврзан со секој запис е одржуван. - Сортирај ги записите по клучеви
- ArrayObject::ksort() - Сортирај ги записите користејќи алгоритам за "природно нарачување"
- ArrayObject::natsort() - Сортирај низа користејќи алгоритам за „природно нарачување“ чувствителен на големи и мали букви
- ArrayObject::uasort() - Ги сортира записите со кориснички дефинирана функција за споредба и ја одржува асоцијацијата на клучевите
- uasort() - Сортирај список со кориснички дефинирана функција за споредба и одржувај асоцијација на индекс