sort

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

sortOrdena un array

Descripción

sort(array &$array, int $sort_flags = SORT_REGULAR): bool

Esta función ordena un array. Los elementos estarán ordenados de menor a mayor cuando la función haya terminado.

Nota:

Si dos miembros se comparan como iguales, su orden relativo en el array oredenado será indefinido.

Parámetros

array

El array de entrada.

sort_flags

El segundo parámetro opcional sort_flags puede ser usado para modificar el modo de ordenación usando estos valores:

Tipos de ordenación:

  • SORT_REGULAR - compara elementos normalmente (no cambia los tipos)
  • SORT_NUMERIC - compara elementos de forma numérica
  • SORT_STRING - compara elementos como cadenas
  • SORT_LOCALE_STRING - compara elementos como cadenas, basándose en la configuración regional en uso. Utiliza la configuración regional, la cual puede cambiarse usando setlocale().
  • SORT_NATURAL - compara elementos como cadenas usando el "orden natural" de la misma forma que natsort().
  • SORT_FLAG_CASE - se puede combinar (OR a nivel de bits) con SORT_STRING o SORT_NATURAL para ordenar cadenas de forma insensible a mayúsculas/minúsculas.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Historial de cambios

Versión Descripción
5.4.0 Se añadió el soporte para SORT_NATURAL y SORT_FLAG_CASE como sort_flags
5.0.2 Se añadió SORT_LOCALE_STRING

Ejemplos

Ejemplo #1 Ejemplo de sort()

<?php

$frutas 
= array("limón""naranja""banana""albaricoque");
sort($frutas);
foreach (
$frutas as $clave => $valor) {
    echo 
"frutas[" $clave "] = " $valor "\n";
}

?>

El resultado del ejemplo sería:

frutas[0] = albaricoque
frutas[1] = banana
frutas[2] = limón
frutas[3] = naranja

Las frutas han sido ordenadas en orden alfabético.

Ejemplo #2 Ejemplo de sort() usando la ordenación insensible a mayúsculas/minúsculas natural

<?php

$frutas 
= array(
    
"Naranja1""naranja2""Naranja3""naranja20"
);
sort($frutasSORT_NATURAL SORT_FLAG_CASE);
foreach (
$frutas as $clave => $valor) {
    echo 
"frutas[" $clave "] = " $valor "\n";
}

?>

El resultado del ejemplo sería:

frutas[0] = Naranja1
frutas[1] = naranja2
frutas[2] = Naranja3
frutas[3] = naranja20

Las frutas han sido ordenadas de la misma forma que natcasesort().

Notas

Nota: Esta función asigna nuevas clave a los elemenos del array. Eliminará cualquier clave existente que haya sido asignada, en lugar de reordenar las claves.

Nota: Como la mayoría de funciones de ordenación de PHP, sort() utiliza una implementación de » Quicksort. El pivote es elegido en la mitad de la partición resultando en un tiempo óptimo para los arrays ya ordenados. Aunque esto es un detalle de implementación con el que no debería contar.

Advertencia

Se ha de tener cuidado cuando se ordenen arrays con valores de tipos mixtos ya que sort() puede producir resultados impredecibles.

Ver también