PHP 8.5.0 Alpha 2 available for testing

rsort

(PHP 4, PHP 5, PHP 7, PHP 8)

rsortOrdena un array en orden decreciente

Descripción

rsort(array &$array, int $flags = SORT_REGULAR): true

Ordena array en el lugar según los valores en orden decreciente.

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.

Nota: Esta función asigna nuevas claves a los elementos en array. Eliminará todas las claves existentes que hayan podido ser asignadas, en lugar de reordenar las claves.

Nota:

Reinicia el puntero interno del array al primer elemento.

Parámetros

array

El array de entrada.

flags

El segundo parámetro opcional flags puede ser utilizado para modificar el comportamiento de ordenación utilizando estos valores :

Tipo de banderas de ordenación :

Valores devueltos

Retorna siempre true.

Historial de cambios

Versión Descripción
8.2.0 El tipo de retorno es ahora true, anteriormente era bool.

Ejemplos

Ejemplo #1 Ejemplo con rsort()

<?php
$fruits
= array("lemon", "orange", "banana", "apple");
rsort($fruits);
foreach (
$fruits as $key => $val) {
echo
"$key = $val\n";
}
?>

El ejemplo anterior mostrará :

0 = orange
1 = lemon
2 = banana
3 = apple

Las frutas han sido clasificadas en orden alfabético inverso.

Ver también

  • sort() - Ordena un array en orden creciente
  • arsort() - Ordena un array en orden descendente y conserva la asociación de los índices
  • krsort() - Ordena un array según las claves en orden descendente
  • Las funciones de ordenación de arrays
add a note

User Contributed Notes 2 notes

up
6
Alex M
20 years ago
A cleaner (I think) way to sort a list of files into reversed order based on their modification date.

<?php
$path
= $_SERVER[DOCUMENT_ROOT]."/files/";
$dh = @opendir($path);

while (
false !== ($file=readdir($dh)))
{
if (
substr($file,0,1)!=".")
$files[]=array(filemtime($path.$file),$file); #2-D array
}
closedir($dh);

if (
$files)
{
rsort($files); #sorts by filemtime

#done! Show the files sorted by modification date
foreach ($files as $file)
echo
"$file[0] $file[1]<br>\n"; #file[0]=Unix timestamp; file[1]=filename
}
?>
up
1
ray at non-aol dot com
20 years ago
Like sort(), rsort() assigns new keys for the elements in array. It will remove any existing keys you may have assigned, rather than just reordering the keys. This means that it will destroy associative keys.

$animals = array("dog"=>"large", "cat"=>"medium", "mouse"=>"small");
print_r($animals);
//Array ( [dog] => large [cat] => medium [mouse] => small )

rsort($animals);
print_r($animals);
//Array ( [0] => small [1] => medium [2] => large )

Use KSORT() or KRSORT() to preserve associative keys.
To Top