Συνάρτηση strnatcmp
Η συνάρτηση strnatcmp εκτελεί σύγκριση δύο συμβολοσειρών λαμβάνοντας υπόψη τη φυσική διάταξη των χαρακτήρων.
Σε αντίθεση με τη συνηθισμένη σύγκριση, αυτή η συνάρτηση αναγνωρίζει αριθμούς μέσα σε συμβολοσειρές και τους συγκρίνει με βάση την αριθμητική τους τιμή.
Η συνάρτηση επιστρέφει 0 εάν οι συμβολοσειρές είναι πανομοιότυπες, αριθμό -1 εάν η πρώτη συμβολοσειρά είναι μικρότερη της δεύτερης,
και αριθμό μεγαλύτερο 1 εάν η πρώτη συμβολοσειρά είναι μεγαλύτερη της δεύτερης.
Σύνταξη
strnatcmp(string $str1, string $str2): int
Παράδειγμα
Σύγκριση συμβολοσειρών με αριθμούς με συνηθισμένο τρόπο και με χρήση strnatcmp:
<?php
$res1 = strcmp("file2.txt", "file10.txt");
$res2 = strnatcmp("file2.txt", "file10.txt");
echo "strcmp result: " . $res1 . "\n";
echo "strnatcmp result: " . $res2;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
strcmp result: 1
strnatcmp result: -1
Παράδειγμα
Σύγκριση συμβολοσειρών με διαφορετικούς αριθμούς:
<?php
$res = strnatcmp("image5.jpg", "image15.jpg");
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
-1
Παράδειγμα
Σύγκριση πανομοιότυπων συμβολοσειρών:
<?php
$res = strnatcmp("hello123", "hello123");
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
0
Δείτε επίσης
-
τη συνάρτηση
strcmp,
που εκτελεί σύγκριση συμβολοσειρών ασφαλή για δυαδικά δεδομένα -
τη συνάρτηση
strcasecmp,
που συγκρίνει συμβολοσειρές χωρίς διάκριση πεζών/κεφαλαίων -
τη συνάρτηση
natcasesort,
που ταξινομεί έναν πίνακα χρησιμοποιώντας φυσική διάταξη χωρίς διάκριση πεζών/κεφαλαίων