natcasesort

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

natcasesortOrdena un array con el algoritmo de "orden natural" insensible a mayúsculas y minúsculas

Descripción

natcasesort(array &$array): true

natcasesort() es la versión insensible a mayúsculas y minúsculas de natsort().

Esta función implementa un algoritmo de ordenación que trata las cadenas alfanuméricas del array array como lo haría un ser humano, manteniendo la relación clave/valor. Esto se conoce como "orden natural".

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:

Reinicia el puntero interno del array al primer elemento.

Parámetros

array

El array de entrada.

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 natcasesort()

<?php
$array1
= $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($array1);
echo
"Ordenación estándar\n";
print_r($array1);

natcasesort($array2);
echo
"\nOrdenación en orden natural (insensible a mayúsculas y minúsculas)\n";
print_r($array2);
?>

El ejemplo anterior mostrará:

Ordenación estándar
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Ordenación en orden natural (insensible a mayúsculas y minúsculas)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Para más detalles, visite el sitio de Martin Pool sobre » la comparación de cadenas en orden natural.

Ver también

  • natsort() - Ordena un array con el algoritmo de "orden natural"
  • Las funciones de ordenación de arrays
  • strnatcmp() - Comparación de strings con el algoritmo de "orden natural"
  • strnatcasecmp() - Comparación de strings con el algoritmo de "orden natural" (insensible a mayúsculas/minúsculas)

add a note

User Contributed Notes 1 note

up
46
dslicer at maine dot rr dot com
22 years ago
Something that should probably be documented is the fact that both natsort and natcasesort maintain the key-value associations of the array. If you natsort a numerically indexed array, a for loop will not produce the sorted order; a foreach loop, however, will produce the sorted order, but the indices won't be in numeric order. If you want natsort and natcasesort to break the key-value associations, just use array_values on the sorted array, like so:

natcasesort($arr);
$arr = array_values($arr);
To Top