Documentación offline PHP master

strnatcmp

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

strnatcmp

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

Descripción#

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

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

Devuelve un valor inferior a 0 si `string1` es inferior a `string2`; un valor superior a 0 si `string1` es superior a `string2`, y `0` si son iguales. No se puede deducir ningún significado particular de este valor, excepto su signo.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 8.2.0 | Esta función ya no garantiza retornar `strlen($string1) - strlen($string2)` cuando las longitudes de las strings no son iguales, y puede retornar `-1` o `1` en su lugar. |

## Ejemplos

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

`strcmp`

```php

El ejemplo anterior mostrará:

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

Véase también#

preg_match, strcasecmp, substr, stristr, strcmp, strncmp, strncasecmp, strnatcasecmp, strstr, natsort, natcasesort