Funkcija strnatcmp

Funkcija strnatcmp izvede primerjavo dveh nizov z upoštevanjem naravnega vrstnega reda znakov. Za razliko od običajne primerjave ta funkcija prepozna števila znotraj nizov in jih primerja po številski vrednosti. Funkcija vrne 0, če so nizi identični, število -1, če je prvi niz manjši od drugega, in število večje od 1, če je prvi niz večji od drugega.

Sintaksa

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

Primer

Primerjava nizov s števili na običajen način in s pomočjo strnatcmp:

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

Rezultat izvajanja kode:

phpstrcmp result: 1
strnatcmp result: -1

Primer

Primerjava nizov z različnimi števili:

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

Rezultat izvajanja kode:

php-1

Primer

Primerjava enakih nizov:

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

Rezultat izvajanja kode:

php0

Glejte tudi

  • funkcijo strcmp,
    ki izvede binarno varno primerjavo nizov
  • funkcijo strcasecmp,
    ki primerja nize brez upoštevanja velikosti črk
  • funkcijo natcasesort,
    ki razvrsti matriko z uporabo naravnega vrstnega reda brez upoštevanja velikosti črk