PHP Velho Oeste 2024

ArrayIterator::uasort

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

ArrayIterator::uasortOrdena com uma função de comparação definida pelo usuário e manter a associação de índices

Descrição

public ArrayIterator::uasort(callable $callback): true

Este método ordena os elementos de forma que os índices mantenham sua correlação com os valores aos quais estão associados, usando uma função de comparação definida pelo usuário.

Nota:

Se dois elementos são comparados como iguais, eles mantêm sua ordem original. Antes do PHP 8.0.0, sua ordem relativa no array ordenado era indefinida.

Parâmetros

callback

A função de comparação deve retornar um inteiro menor que, igual ou maior que zero se o primeiro argumento for considerado respectivamente menor que, igual ou maior que o segundo.

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

Retornar valores não inteiros da função de comparação, como float, resultará em uma conversão interna do valor retornado da função callback para int. Portanto, valores como 0.99 e 0.1 serão convertidos para o valor inteiro 0, o que comparará esses valores como iguais.

Valor Retornado

Sempre retorna true.

Registro de Alterações

Versão Descrição
8.2.0 O tipo do retorno agora é true; anteriormente, era bool.

Veja Também

add a note add a note

User Contributed Notes 1 note

up
1
Massimiliano Arione
8 years ago
Even if documentation says that $cmp_function must be a string, this method works with a Callable also.
Example:

<?php

$iterator
->uasort([$this, 'usort']);  // 'usort' here is a method in the same class
To Top