Funkcja strnatcmp
Funkcja strnatcmp wykonuje porównanie dwóch ciągów znaków z uwzględnieniem naturalnego porządku znaków.
W przeciwieństwie do zwykłego porównania, ta funkcja rozpoznaje liczby wewnątrz ciągów i porównuje je według wartości numerycznej.
Funkcja zwraca 0 jeśli ciągi są identyczne, liczbę -1 jeśli pierwszy ciąg jest mniejszy od drugiego,
i liczbę większą od 1 jeśli pierwszy ciąg jest większy od drugiego.
Składnia
strnatcmp(string $str1, string $str2): int
Przykład
Porównanie ciągów z liczbami w zwykły sposób i za pomocą strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Wynik wykonania kodu:
strcmp result: 1
strnatcmp result: -1
Przykład
Porównanie ciągów z różnymi liczbami:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Wynik wykonania kodu:
-1
Przykład
Porównanie identycznych ciągów:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Wynik wykonania kodu:
0
Zobacz też
-
funkcję
strcmp,
która wykonuje porównanie ciągów bezpieczne dla danych binarnych -
funkcję
strcasecmp,
która porównuje ciągi bez uwzględniania wielkości liter -
funkcję
natcasesort,
która sortuje tablicę przy użyciu porządku naturalnego bez uwzględniania wielkości liter