strnatcmp – PHP String Functions
Syntax :
Description :
It’s an inbuilt function of PHP. strnatcmp() function compares the two strings using a “natural” algorithm.
Parameter :
[table caption=”” width=”100%” colwidth=”15%|15%|15%|55%” colalign=”left|left|left|left”]
Name, Required /Optional, Value Type, Description
string1, Required, String, First string to compare.
string2, Required, String, Second string to compare.
[/table]
Output :
Return values in this function are:
- 0 – if the two strings are equal.
- < 0 – if string1 is less than string2.
- > 0 – if string1 is greater than string2.
Related articles : strcmp(), strcasecmp(), substr(), stristr(), strncasecmp(), strncmp(), strstr(), natsort(), natcasesort().
strnatcmp() – PHP Functions Example 1 :
<?php // case-sensitive comparison echo strnatcmp("Hi from tutorialmines.","hI FROM TUTORIALMINES."); ?>
Output of above code in the browser is as below:
strnatcmp() – PHP Functions Example 2 : It returns 0, if the two strings are equal. Case of character does matter here.
<?php echo strnatcmp("Hi from tutorialmines.","Hi from tutorialmines."); echo "<br/>"; echo strnatcmp("Hi tutorialmines.","hI from Tutorialmines."); ?>
Output of above code in the browser is as below:
-1
strnatcmp () – PHP Functions Example 3 :
<?php echo "String1 is equal to string2 = "; echo strnatcmp("Hi from tutorialmines.","Hi from tutorialmines."); echo "\nString1 is less than string2 = "; echo strnatcmp("Hi from tutorial.","Hi from tutorialmines."); echo "\nString1 is greater than string2 = "; echo strnatcmp("Hi from tutorialmines.","Hi from tutorial."); ?>
Output of above code in the browser is as below:
String1 is less than string2 = -1
String1 is greater than string2 = 1
strnatcmp () – PHP Functions Example 4 : difference between this algorithm and the regular computer string sorting algorithms can be seen below:
<?php $arr1 = $arr2 = array("var12", "var10", "var2", "var1"); echo "Standard string comparison\n"; usort($arr1, "strcmp"); print_r($arr1); echo "\nNatural order string comparison\n"; usort($arr2, "strnatcmp"); print_r($arr2); ?>
Output of above code in the browser is as below:
Standard string comparison
Array
(
[0] => var1
[1] => var10
[2] => var12
[3] => var2
)
Natural order string comparison
Array
(
[0] => var1
[1] => var2
[2] => var10
[3] => var12
)