Συνάρτηση uasort
Η συνάρτηση uasort ταξινομεί έναν πίνακα
με αύξουσα σειρά των στοιχείων, διατηρώντας
τα κλειδιά του associative πίνακα.
Η συνάρτηση uasort ταξινομεί έναν πίνακα
ανά τιμή των στοιχείων, χρησιμοποιώντας για
αυτό ένα callback για τον καθορισμό της σειράς
των στοιχείων στον ταξινομημένο πίνακα.
Η συνάρτηση τροποποιεί τον ίδιο τον πίνακα.
Η συνάρτηση σύγκρισης πρέπει να επιστρέφει έναν ακέραιο αριθμό, ο οποίος ανάλογα με το αποτέλεσμα της σύγκρισης: μικρότερος, ίσος ή μεγαλύτερος του μηδενός.
Η συνάρτηση τροποποιεί τον ίδιο τον πίνακα.
Σύνταξη
uasort(array &$array, int $flags = SORT_REGULAR): bool
Παράδειγμα
Ας ταξινομήσουμε τον πίνακα με αύξουσα σειρά των στοιχείων:
<?php
$arr = [
'b' => 1,
'e' => 3,
'c' => 2,
'a' => 5,
'd' => 4,
];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
[
'b' => 1,
'c' => 2,
'e' => 3,
'd' => 4,
'a' => 5,
]
Παράδειγμα
Τώρα ας ταξινομήσουμε τον πίνακα με αύξουσα σειρά του αριθμού των χαρακτήρων στα στοιχεία του πίνακα:
<?php
$arr = [
'a' => '123',
'b' => '1',
'c' => '12345',
'd' => '12',
'e' => '1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
Αποτέλεσμα εκτέλεσης του κώδικα:
[
'b' => '1',
'd' => '12',
'a' => '123',
'e' => '1234',
'c' => '12345',
]
Δείτε επίσης
-
τη συνάρτηση
sort,
που ταξινομεί με αύξουσα σειρά των στοιχείων -
τη συνάρτηση
rsort,
που ταξινομεί με φθίνουσα σειρά των στοιχείων -
τη συνάρτηση
ksort,
που ταξινομεί με αύξουσα σειρά των κλειδιών -
τη συνάρτηση
krsort,
που ταξινομεί με φθίνουσα σειρά των κλειδιών -
τη συνάρτηση
asort,
που ταξινομεί με αύξουσα σειρά των στοιχείων διατηρώντας τα κλειδιά -
τη συνάρτηση
arsort,
που ταξινομεί με φθίνουσα σειρά των στοιχείων διατηρώντας τα κλειδιά -
τη συνάρτηση
natsort,
που ταξινομεί με φυσικό τρόπο -
τη συνάρτηση
natcasesort,
που ταξινομεί με φυσικό τρόπο χωρίς διάκριση πεζών-κεφαλαίων -
τη συνάρτηση
usort,
που ταξινομεί με callback -
τη συνάρτηση
uksort,
που ταξινομεί με callback ανά κλειδιά -
τη συνάρτηση
uasort,
που ταξινομεί με callback διατηρώντας τα κλειδιά -
τη συνάρτηση
array_multisort,
που ταξινομεί πολλούς πίνακες