strnatcmp

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

strnatcmpComparación de strings utilizando un algoritmo de "orden natural"

Descripción

strnatcmp(string $str1, string $str2): int

Esta función implementa un algoritmo de comparación que ordena strings alfanuméricos de la manera en que un humano lo haría, lo cual se describe como "orden natural". Tener en cuenta que esta comparación es sensible a mayúsculas y minúsculas.

Parámetros

str1

El primer string.

str2

El segundo string.

Valores devueltos

De forma similar a otras funciones de comparación, esta devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2 y 0 si son iguales.

Ejemplos

Un ejemplo de la diferencia entre éste algoritmo y los algoritmos normales de clasificación del computador (usados en strcmp()), se puede ver a continuación

<?php
$arr1 
$arr2 = array("img12.png""img10.png""img2.png""img1.png");
echo 
"Standard string comparison\n";
usort($arr1"strcmp");
print_r($arr1);
echo 
"\nNatural order string comparison\n";
usort($arr2"strnatcmp");
print_r($arr2);
?>

El resultado del ejemplo sería:

Standard string comparison
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order string comparison
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Para más información ver la página de Martin Pool: » Natural Order String Comparison.

Ver también

  • preg_match() - Realiza una comparación con una expresión regular
  • strcasecmp() - Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • substr() - Devuelve parte de una cadena
  • stristr() - strstr insensible a mayúsculas y minúsculas
  • strcmp() - Comparación de string segura a nivel binario
  • strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings
  • strncasecmp() - Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • strnatcasecmp() - Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"
  • strstr() - Encuentra la primera aparición de un string
  • natsort() - Ordena un array usando un algoritmo de "orden natural"
  • natcasesort() - Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas