Functie strnatcmp

De functie strnatcmp voert een vergelijking uit van twee strings met inachtneming van de natuurlijke volgorde van karakters. In tegenstelling tot een gewone vergelijking, herkent deze functie getallen binnen strings en vergelijkt ze op basis van hun numerieke waarde. De functie retourneert 0 als de strings identiek zijn, het getal -1 als de eerste string kleiner is dan de tweede, en een getal groter dan 1 als de eerste string groter is dan de tweede.

Syntaxis

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

Voorbeeld

Vergelijking van strings met getallen op de gebruikelijke manier en met behulp van strnatcmp:

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

Resultaat van de code-uitvoering:

phpstrcmp result: 1
strnatcmp result: -1

Voorbeeld

Vergelijking van strings met verschillende getallen:

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

Resultaat van de code-uitvoering:

php-1

Voorbeeld

Vergelijking van identieke strings:

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

Resultaat van de code-uitvoering:

php0

Zie ook

  • de functie strcmp,
    die een binaire veilige stringvergelijking uitvoert
  • de functie strcasecmp,
    die strings vergelijkt zonder onderscheid te maken tussen hoofdletters en kleine letters
  • de functie natcasesort,
    die een array sorteert met behulp van natuurlijke volgorde zonder onderscheid te maken tussen hoofdletters en kleine letters