Funkcija strnatcmp

Funkcija strnatcmp atlieka dviejų eilučių palyginimą atsižvelgdama į natūralią simbolių tvarką. Skirtingai nuo įprasto palyginimo, ši funkcija atpažįsta skaičius eilutėse ir lygina juos pagal skaitinę reikšmę. Funkcija grąžina 0 jei eilutės identiškos, skaičių -1 jei pirmoji eilutė mažesnė už antrąją, ir skaičių daugiau 1 jei pirmoji eilutė didesnė už antrąją.

Sintaksė

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

Pavyzdys

Eilučių su skaičiais palyginimas įprastu būdu ir naudojant strnatcmp:

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

Kodo vykdymo rezultatas:

phpstrcmp result: 1
strnatcmp result: -1

Pavyzdys

Eilučių su skirtingais skaičiais palyginimas:

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

Kodo vykdymo rezultatas:

php-1

Pavyzdys

Identžių eilučių palyginimas:

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

Kodo vykdymo rezultatas:

php0

Taip pat žiūrėkite

  • funkciją strcmp,
    kuri atlieka binarinį saugų eilučių palyginimą
  • funkciją strcasecmp,
    kuri lygina eilutes neatsižvelgdama į raidžių dydį
  • funkciją natcasesort,
    kuri rūšiuoja masyvą naudodama natūralią tvarką neatsižvelgdama į raidžių dydį