ArrayObject::uasort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::uasortSort the entries with a user-defined comparison function and maintain key association

Descrizione

public ArrayObject::uasort(callable $callback): bool

This function sorts the entries such that keys maintain their correlation with the entry that 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.

Nota:

If two members compare as equal, they retain their original order. Prior to PHP 8.0.0, their relative order in the sorted array was undefined.

Elenco dei parametri

callback

La funzione di confronto deve restituire un intero minore, uguale o maggiore di zero se il primo argomento è considerato essere minore, uguale o maggiore del secondo.

callback(mixed $a, mixed $b): int

Valori restituiti

Always returns true.

Esempi

Example #1 ArrayObject::uasort() example

<?php
// Comparison function
function cmp($a$b) {
    if (
$a == $b) {
        return 
0;
    }
    return (
$a $b) ? -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);
print_r($arrayObject);

// Sort and print the resulting array
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>

Il precedente esempio visualizzerà:

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
)

Vedere anche:

add a note add a note

User Contributed Notes 1 note

up
0
poxetinho at gmail dot com
11 years ago
Note that return values between (-1, 1) are being considered as 0.
To Top