(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::uksort — Ordena los elementos por clave con una función utilitaria
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, mantienen su orden original. Anterior a PHP 8.0.0, su orden relativo en el array ordenado no está definido.
callback
La función de comparación debe retornar un entero menor que, igual a, o mayor que 0 si el primer argumento es considerado, respectivamente, menor que, igual a, o mayor que el segundo.
Retorna siempre true
.
Versión | Descripción |
---|---|
8.2.0 |
El tipo de retorno es ahora true , anteriormente era bool.
|
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 ejemplo anterior mostrará :
une banane: 4 Jean: 1 une pomme: 3 la Terre: 2