Funkcia strnatcmp

Funkcia strnatcmp vykonáva porovnanie dvoch reťazcov s prihliadnutím na prirodzené poradie znakov. Na rozdiel od bežného porovnávania táto funkcia rozpozná čísla v reťazcoch a porovnáva ich podľa číselnej hodnoty. Funkcia vráti 0 ak sú reťazce identické, číslo -1 ak je prvý reťazec menší ako druhý, a číslo väčšie ako 1 ak je prvý reťazec väčší ako druhý.

Syntax

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

Príklad

Porovnanie reťazcov s číslami obvyklým spôsobom a pomocou 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ýsledok vykonania kódu:

phpstrcmp result: 1
strnatcmp result: -1

Príklad

Porovnanie reťazcov s rôznymi číslami:

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

Výsledok vykonania kódu:

php-1

Príklad

Porovnanie rovnakých reťazcov:

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

Výsledok vykonania kódu:

php0

Pozrite tiež

  • funkciu strcmp,
    ktorá vykonáva binárne bezpečné porovnanie reťazcov
  • funkciu strcasecmp,
    ktorá porovnáva reťazce bez ohľadu na veľkosť písmen
  • funkciu natcasesort,
    ktorá triedi pole pomocou prirodzeného poradia bez ohľadu na veľkosť písmen