(PHP 4, PHP 5, PHP 7, PHP 8)
sort — Ordena un array en orden creciente
Ordena array en su lugar siguiendo los valores
en orden creciente.
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.
arrayEl 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 :
SORT_REGULAR - compara los elementos normalmente;
los detalles son descritos en la sección de los operadores de comparación
SORT_NUMERIC - compara los elementos numéricamente
SORT_STRING - compara los elementos como strings
SORT_LOCALE_STRING - compara los elementos como
strings, basado en la configuración regional actual. Esto utiliza la configuración regional,
que puede ser cambiada utilizando setlocale()
SORT_NATURAL - compara los elementos como strings
utilizando el "orden natural" como natsort()
SORT_FLAG_CASE - puede ser combinado
(OR a nivel de bits) con
SORT_STRING o
SORT_NATURAL para ordenar strings sin tener en cuenta la mayúscula/minúscula
Retorna siempre true.
| Versión | Descripción |
|---|---|
| 8.2.0 |
El tipo de retorno es ahora true, anteriormente era bool.
|
Ejemplo #1 Ejemplo con sort()
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>El ejemplo anterior mostrará :
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
Las frutas han sido ordenadas en orden alfabético.
Ejemplo #2 Ejemplo con sort() utilizando el orden natural sin tener en cuenta la casilla
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>El ejemplo anterior mostrará :
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
Las frutas han sido ordenadas como lo habrían sido con la función natcasesort().
Nota: Al igual que la mayoría de las funciones de ordenación de PHP, sort() utiliza una implementación de » Quicksort. El pivote es elegido en el medio de la partición, resultando así en una optimización del tiempo para los arrays ya ordenados. Pero esto no es más que un detalle de la implementación, sin tener ningún impacto.
Prestar atención al ordenar arrays con valores de tipos
diferentes ya que sort() puede producir resultados
impredecibles cuando flags es
SORT_REGULAR.