Συνάρτηση uasort

Η συνάρτηση uasort ταξινομεί έναν πίνακα με αύξουσα σειρά των στοιχείων, διατηρώντας τα κλειδιά του associative πίνακα.

Η συνάρτηση uasort ταξινομεί έναν πίνακα ανά τιμή των στοιχείων, χρησιμοποιώντας για αυτό ένα callback για τον καθορισμό της σειράς των στοιχείων στον ταξινομημένο πίνακα. Η συνάρτηση τροποποιεί τον ίδιο τον πίνακα.

Η συνάρτηση σύγκρισης πρέπει να επιστρέφει έναν ακέραιο αριθμό, ο οποίος ανάλογα με το αποτέλεσμα της σύγκρισης: μικρότερος, ίσος ή μεγαλύτερος του μηδενός.

Η συνάρτηση τροποποιεί τον ίδιο τον πίνακα.

Σύνταξη

phpuasort(array &$array, int $flags = SORT_REGULAR): bool

Παράδειγμα

Ας ταξινομήσουμε τον πίνακα με αύξουσα σειρά των στοιχείων:

php<?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);
?>

Αποτέλεσμα εκτέλεσης του κώδικα:

php[
  'b' => 1,
  'c' => 2,
  'e' => 3,
  'd' => 4,
  'a' => 5,
]

Παράδειγμα

Τώρα ας ταξινομήσουμε τον πίνακα με αύξουσα σειρά του αριθμού των χαρακτήρων στα στοιχεία του πίνακα:

php<?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);
?>

Αποτέλεσμα εκτέλεσης του κώδικα:

php[
  '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,
    που ταξινομεί πολλούς πίνακες