PHP 8.5.0 Alpha 1 available for testing

ArrayObject::uksort

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

ArrayObject::uksortOrdena los elementos por clave con una función utilitaria

Descripción

public ArrayObject::uksort(callable $callback): true

Esta función ordena las claves de los elementos utilizando una función utilitaria de comparación. La correlación entre las claves y los elementos se conserva.

Nota:

Si dos miembros se comparan como iguales, ellos mantendrán su orden original. Antes de PHP 8.0.0, su orden relativo en un array ordenado era indefinido.

Parámetros

callback

La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo. Observe que antes de PHP 7.0.0 este entero debía estar en el rango de -2147483648 a 2147483647.

callback(mixed $a, mixed $b): int
Precaución

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

Valores devueltos

Siempre devuelve true.

Historial de cambios

Versión Descripción
8.2.0 The return type is true now; previously, it was bool.

Ejemplos

Ejemplo #1 Ejemplo con ArrayObject::uksort()

<?php
function cmp($a, $b) {
$a = preg_replace('@^(le|la|les|un|une|des) @', '', $a);
$b = preg_replace('@^(le|la|les|un|une|des) @', '', $b);
return
strcasecmp($a, $b);
}

$array = array("Jean" => 1, "la Terre" => 2, "une pomme" => 3, "une banane" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');

foreach (
$arrayObject as $key => $value) {
echo
"$key: $value\n";
}
?>

El resultado del ejemplo sería:

une banane: 4
Jean: 1
une pomme: 3
la Terre: 2

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top