strnatcmp

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

strnatcmpComparación de strings con el algoritmo de "orden natural"

Descripción

strnatcmp(string $string1, string $string2): int

Implementa el algoritmo de comparación que ordena los strings como lo haría un ser humano. Tenga en cuenta que esta comparación distingue entre mayúsculas y minúsculas.

Parámetros

string1

El primer string.

string2

El segundo string.

Valores devueltos

Returns a value less than 0 if string1 is less than string2; a value greater than 0 if string1 is greater than string2, and 0 if they are equal. No particular meaning can be reliably inferred from the value aside from its sign.

Historial de cambios

Versión Descripción
8.2.0 This function is no longer guaranteed to return strlen($string1) - strlen($string2) when string lengths are not equal, but may now return -1 or 1 instead.

Ejemplos

Un ejemplo de la diferencia de tratamiento con el algoritmo estándar se presenta a continuación:

Ejemplo #1 strcmp()

<?php
$arr1
= $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo
"Ordenación de strings estándar\n";
usort($arr1, "strcmp");
print_r($arr1);
echo
"\nOrdenación de strings \"orden natural\"\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

El resultado del ejemplo sería:

Ordenación de strings estándar
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Ordenación de strings "orden natural"
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Para más detalles, consulte » Natural Order String Comparison de Martin Pool (en inglés).

Ver también

  • preg_match() - Realiza una búsqueda de coincidencia con una expresión regular estándar
  • strcasecmp() - Comparación insensible a mayúsculas/minúsculas de strings binarios
  • substr() - Devuelve un segmento de string
  • stristr() - Versión insensible a mayúsculas y minúsculas de strstr
  • strcmp() - Comparación binaria de strings
  • strncmp() - Comparación binaria de los n primeros caracteres
  • strncasecmp() - Comparación binaria de strings insensible a mayúsculas/minúsculas
  • strnatcasecmp() - Comparación de strings con el algoritmo de "orden natural" (insensible a mayúsculas/minúsculas)
  • strstr() - Encuentra la primera ocurrencia en un string
  • natsort() - Ordena un array con el algoritmo de "orden natural"
  • natcasesort() - Ordena un array con el algoritmo de "orden natural" insensible a mayúsculas y minúsculas