Funcția strnatcmp

Funcția strnatcmp efectuează compararea a două șiruri ținând cont de ordinea naturală a caracterelor. Spre deosebire de compararea obișnuită, această funcție recunoaște numerele din interiorul șirurilor și le compară după valoarea numerică. Funcția returnează 0 dacă șirurile sunt identice, numărul -1 dacă primul șir este mai mic decât al doilea, și numărul mai mare 1 dacă primul șir este mai mare decât al doilea.

Sintaxă

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

Exemplu

Compararea șirurilor cu numere în mod obișnuit și cu ajutorul strnatcmp:

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

Rezultatul executării codului:

phpstrcmp result: 1
strnatcmp result: -1

Exemplu

Compararea șirurilor cu numere diferite:

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

Rezultatul executării codului:

php-1

Exemplu

Compararea șirurilor identice:

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

Rezultatul executării codului:

php0

Vedeți și

  • funcția strcmp,
    care efectuează compararea șirurilor în mod sigur din punct de vedere binar
  • funcția strcasecmp,
    care compară șirurile fără a ține cont de majuscule și minuscule
  • funcția natcasesort,
    care sortează un array utilizând ordinea naturală fără a ține cont de majuscule și minuscule