La función ArrayIterator::uksort() es una función incorporada en PHP que se usa para ordenar las claves usando una función de comparación definida por el usuario.
Sintaxis:
void ArrayIterator::uksort( callable $cmp_function )
Parámetros: Esta función acepta un único parámetro $cmp_function que contiene la función de comparación definida por el usuario.
Valor devuelto: esta función no devuelve ningún valor.
Los siguientes programas ilustran la función ArrayIterator::uksort() en PHP:
Programa 1:
<?php // Declare an ArrayIterator $arrItr = new ArrayIterator( array( "a" => 4, "b" => 2, "g" => 8, "d" => 6, "e" => 1, "f" => 9 ) ); // User defined comparator function function sorting($a, $b) { if($a == $b) return 0; return ($a < $b) ? -1 : 1; } $arrItr->uksort("sorting"); // Printing the sorted array. print_r($arrItr); ?>
Producción:
ArrayIterator Object ( [storage:ArrayIterator:private] => Array ( [a] => 4 [b] => 2 [d] => 6 [e] => 1 [f] => 9 [g] => 8 ) )
Programa 2:
<?php // Declare an ArrayIterator $arrItr = new ArrayIterator( array( "b" => "for", "a" => "Geeks", "e" => "Science", "c" => "Geeks", "f" => "Portal", "d" => "Computer" ) ); // Declare a comparison function to sort // values in descending order function comparison($val1, $val2) { if ($val1 == $val2) { return 0; } else if($val1 > $val2) return -1; else return 1; } $arrItr->uksort('comparison'); // Print the sorted ArrayObject print_r($arrItr); ?>
Producción:
ArrayIterator Object ( [storage:ArrayIterator:private] => Array ( [f] => Portal [e] => Science [d] => Computer => Geeks [b] => for [a] => Geeks ) )
Referencia: https://www.php.net/manual/en/arrayiterator.uksort.php