PHP natcasesort() Function
The natcasesort() function is an inbuilt function in PHP which is used to sort an array by using a "natural order" algorithm. The natural order tells the order to be used as a normal human being would use. That is, it does not check the type of value for comparison. For example, in string representation 30 is less than 7 according to the standard sorting algorithm as 3 comes before 7 lexicographically. But in natural order 30 is greater than 7. Also, the natcasesort() function is case insensitive. Syntax:
bool natcasesort($array )
Parameters: This function accepts a single parameter $array. It is the array which natcasesort() function is going to sort. Return Value It returns a boolean value i.e., TRUE on success and FALSE on failure. Below programs illustrate the natcasesort() function in PHP: Program 1:
<?php
// input array
$arr1 = array("Gfg12.jpeg", "gfg10.jpeg", "Gfg2.jpeg", "gfg1.jpeg");
$arr2 = $arr1;
// sorting using sort function.
sort($arr1);
echo "Standard sorting\n";
print_r($arr1);
// Sorting using natcasesort() function.
natcasesort($arr2);
echo "Natural order case insensitive: ";
print_r($arr2);
?>
<?php
// input array
$arr1 = array("Gfg12.jpeg", "gfg10.jpeg", "Gfg2.jpeg", "gfg1.jpeg");
$arr2 = $arr1;
// sorting using sort function.
sort($arr1);
echo "Standard sorting\n";
print_r($arr1);
// Sorting using natcasesort() function.
natcasesort($arr2);
echo "Natural order case insensitive: ";
print_r($arr2);
?>
Output:
Standard sorting: Array ( [0] => Gfg12.jpeg [2] => Gfg2.jpeg [3] => gfg1.jpeg [1] => gfg10.jpeg ) Natural order case insensitive: Array ( [3] => gfg1.jpeg [2] => Gfg2.jpeg [1] => gfg10.jpeg [0] => Gfg12.jpeg )
Program 2:
<?php
// input array
$arr = array("Gfg15.jpeg", "gfg10.jpeg", "Gfg1.jpeg",
"gfg22.jpeg", "Gfg2.jpeg");
// Sorting using natcasesort() function.
natcasesort($arr);
print_r($arr);
?>
<?php
// input array
$arr = array("Gfg15.jpeg", "gfg10.jpeg", "Gfg1.jpeg",
"gfg22.jpeg", "Gfg2.jpeg");
// Sorting using natcasesort() function.
natcasesort($arr);
print_r($arr);
?>
Output:
Array ( [2] => Gfg1.jpeg [4] => Gfg2.jpeg [1] => gfg10.jpeg [0] => Gfg15.jpeg [3] => gfg22.jpeg )
Reference: http://php.net/manual/en/function.natcasesort.php