Funksjonen strnatcmp

Funksjonen strnatcmp utfører en sammenligning av to strenger med hensyn til naturlig rekkefølge av tegn. I motsetning til vanlig sammenligning, gjenkjenner denne funksjonen tall inne i strenger og sammenligner dem etter numerisk verdi. Funksjonen returnerer 0 hvis strengene er identiske, tallet -1 hvis den første strengen er mindre enn den andre, og et tall større enn 1 hvis den første strengen er større enn den andre.

Syntaks

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

Eksempel

Sammenligning av strenger med tall på vanlig måte og med strnatcmp:

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

Resultat av kjøring av kode:

phpstrcmp result: 1
strnatcmp result: -1

Eksempel

Sammenligning av strenger med forskjellige tall:

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

Resultat av kjøring av kode:

php-1

Eksempel

Sammenligning av identiske strenger:

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

Resultat av kjøring av kode:

php0

Se også

  • funksjonen strcmp,
    som utfører en binærsikker sammenligning av strenger
  • funksjonen strcasecmp,
    som sammenligner strenger uten å ta hensyn til store og små bokstaver
  • funksjonen natcasesort,
    som sorterer en array ved å bruke naturlig rekkefølge uten å ta hensyn til store og små bokstaver