(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::uksort — Ordena as entradas pelas chaves usando uma função de comparação definida pelo usuário
Esta função ordena as chaves das entradas usando uma função de comparação fornecida pelo usuário. A correlação chave-entrada será mantida.
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.
callbackA 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.
Sempre retorna true.
| Versão | Descrição |
|---|---|
| 8.2.0 |
O tipo do retorno agora é true; anteriormente, era bool.
|
Exemplo #1 Exemplo de ArrayObject::uksort()
<?php
function cmp($a, $b) {
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}
$array = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');
foreach ($arrayObject as $key => $value) {
echo "$key: $value\n";
}
?>O exemplo acima produzirá:
an apple: 3 a banana: 4 the Earth: 2 John: 1