PHP 8.6.0 Beta 1 is available for testing

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

function 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.

Véase 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)

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
46
dslicer at maine dot rr dot com
23 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);
+add a note

AltStyle によって変換されたページ (->オリジナル) /