(PHP 4, PHP 5, PHP 7)
sort — Ordena un array
&$array
[, int $sort_flags
= SORT_REGULAR
] ) : boolEsta 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.
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.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
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
|
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($frutas, SORT_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().
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.
Se ha de tener cuidado cuando se ordenen arrays con valores de tipos mixtos ya que sort() puede producir resultados impredecibles.