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ă
strnatcmp(string $str1, string $str2): int
Exemplu
Compararea șirurilor cu numere în mod obișnuit și cu ajutorul strnatcmp:
<?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:
strcmp result: 1
strnatcmp result: -1
Exemplu
Compararea șirurilor cu numere diferite:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Rezultatul executării codului:
-1
Exemplu
Compararea șirurilor identice:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Rezultatul executării codului:
0
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