Función array_multisort() de PHP

Ejemplo

Devuelve un array ordenado en orden ascendente:

<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a);
?>

Ejemplo de ejecución

Definición y uso

La función array_multisort() devuelve un array ordenado. Puede ingresar un o varios arrays. La función primero ordena el primer array, luego otros arrays, y si dos o más valores son iguales, ordena el siguiente array.

Comentarios:Se conservarán los nombres de clave de cadena, pero los nombres de clave numérica se reindexarán, comenzando en 0 y aumentando en 1.

Comentarios:Puede establecer los parámetros de orden y tipo de ordenamiento después de cada array. Si no se establecen, cada parámetro de array utilizará el valor predeterminado.

Sintaxis

array_multisort(array1,orden de disposición,tipo de ordenamiento,array2,array3...)
Parámetros Descripción
array1 Necesario. Especificar array.
orden de disposición

Opcional. Especificar el orden de disposición. Los valores posibles son:

  • SORT_ASC - Predeterminado. Ordenar en orden ascendente (A-Z).
  • SORT_DESC - Ordenar en orden descendente (Z-A).
tipo de ordenamiento

Opcional. Especificar el tipo de ordenamiento. Los valores posibles son:

  • SORT_REGULAR - Predeterminado. Ordenar cada elemento en orden convencional (ASCII estándar, sin cambiar el tipo).
  • SORT_NUMERIC - Tratar cada elemento como un número.
  • SORT_STRING - Tratar cada elemento como una cadena.
  • SORT_LOCALE_STRING - Tratar cada elemento como una cadena, basado en la configuración regional actual (puede cambiarse con setlocale()).
  • SORT_NATURAL - Tratar cada elemento como una cadena, utilizando un ordenamiento natural similar a natsort().
  • SORT_FLAG_CASE - Puede combinarse (OR bit a bit) SORT_STRING o SORT_NATURAL para ordenar cadenas, sin distinción de mayúsculas y minúsculas.
array2 Opcional. Especificar array.
array3 Opcional. Especificar array.

Descripción

La función array_multisort() ordena múltiples arrays o arrays multidimensionales.

El array en los parámetros se considera una columna de una tabla y se ordena por filas - esto es similar a la función ORDER BY de SQL. El primer array es el array principal a ordenar. Si las filas (valores) del array son iguales, se ordena según el tamaño de los valores correspondientes del siguiente array de entrada, y así sucesivamente.

El primer parámetro es un array, y cada parámetro siguiente puede ser un array o uno de los siguientes índices de ordenamiento (los índices de ordenamiento se utilizan para cambiar el ordenamiento predeterminado):

  • SORT_ASC - Predeterminado, ordenar en orden ascendente. (A-Z)
  • SORT_DESC - Ordenar en orden descendente. (Z-A)

Luego se puede especificar el tipo de ordenamiento:

  • SORT_REGULAR - Predeterminado. Ordenar cada elemento en orden convencional.
  • SORT_NUMERIC - Ordenar cada elemento en orden numérico.
  • SORT_STRING - Ordenar cada elemento en orden alfabético.

Detalles técnicos

Valor de retorno: Devuelve TRUE si tiene éxito, FALSE si falla.
Versión de PHP: 4+
Registro de actualizaciones:

Los tipos de ordenación SORT_NATURAL y SORT_FLAG_CASE se agregaron en PHP 5.4.

El tipo de ordenación SORT_LOCALE_STRING se agregó en PHP 5.3.

Más ejemplos

Ejemplo 1

Devuelve un array ordenado en orden ascendente:

<?php
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>

Ejemplo de ejecución

Ejemplo 2

¿Cómo se ordenan cuando dos valores son iguales?:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>

Ejemplo de ejecución

Ejemplo 3

Uso de parámetros de ordenación:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,SORT_ASC,$a2,SORT_DESC);
print_r($a1);
print_r($a2);
?>

Ejemplo de ejecución

Ejemplo 4

Combinar dos arrays y ordenarlos en orden numérico descendente:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>

Ejemplo de ejecución