Funkce strnatcmp

Funkce strnatcmp provádí porovnání dvou řetězců s ohledem na přirozené řazení znaků. Na rozdíl od běžného porovnávání tato funkce rozpoznává čísla uvnitř řetězců a porovnává je podle jejich číselné hodnoty. Funkce vrací 0 pokud jsou řetězce identické, číslo -1 pokud je první řetězec menší než druhý, a číslo větší než 1 pokud je první řetězec větší než druhý.

Syntaxe

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

Příklad

Porovnání řetězců s čísly běžným způsobem a pomocí strnatcmp:

php<?php
  $res1 = strcmp("file2.txt", "file10.txt");
  $res2 = strnatcmp("file2.txt", "file10.txt");
  
  echo "strcmp result: " . $res1 . "\n";
  echo "strnatcmp result: " . $res2;
?>

Výsledek provedení kódu:

phpstrcmp result: 1
strnatcmp result: -1

Příklad

Porovnání řetězců s různými čísly:

php<?php
  $res = strnatcmp("image5.jpg", "image15.jpg");
  echo $res;
?>

Výsledek provedení kódu:

php-1

Příklad

Porovnání stejných řetězců:

php<?php
  $res = strnatcmp("hello123", "hello123");
  echo $res;
?>

Výsledek provedení kódu:

php0

Viz také

  • funkci strcmp,
    která provádí binárně-bezpečné porovnání řetězců
  • funkci strcasecmp,
    která porovnává řetězce bez ohledu na velikost písmen
  • funkci natcasesort,
    která řadí pole pomocí přirozeného řazení bez ohledu na velikost písmen