Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

PHP | Sort array of strings in natural and standard orders

  • Last Updated : 03 Jan, 2020

You are given an array of strings. You have to sort the given array in standard way (case of alphabets matters) as well as natural way (alphabet case does not matter).

Input : arr[] = {"Geeks", "for", "geeks"}
Output : Standard sorting: Geeks for geeks 
         Natural sorting: for Geeks geeks 

Input : arr[] = {"Code", "at", "geeks", "Practice"}
Output : Standard sorting: Code Practice at geeks 
         Natural sorting: at Code geeks Practice 

If you are trying to sort the array of string in a simple manner you can simple create a comparison function for character comparison and sort the given array of strings. But that will differentiate lower case and upper case alphabets. To solve this problem if you are otping to solve this in c/java you have to write your own comparison function which specially take care of cases of alphabets. But if we will opt PHP as our language then we can sort it directly with the help of natcasesort().
natcasesort() : It sort strings regardless of their case. Means ‘a’ & ‘A’ are treated smaller than ‘b’ & ‘B’ in this sorting method.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

// declare array
$arr = array ("Hello", "to", "geeks", "for", "GEEks");

// Standard sort
$standard_result = sort($arr);

// natural sort
$natural_result = natcasesort($arr);

// PHP program to sort an array 
// in standard and natural ways.
// function to print array
function printArray ($arr)
    foreach ($arr as $value) {
        echo "$value ";
// declare array
$arr = array ("Hello", "to", "geeks", "for", "GEEks");
// Standard sort
$standard_result = $arr;
echo "Array after Standard sorting: ";
// natural sort
$natural_result = $arr;
echo "\nArray after Natural sorting: ";


Array after Standard sorting: GEEks Hello for geeks to 
Array after Natural sorting: for geeks GEEks Hello to 
My Personal Notes arrow_drop_up
Recommended Articles
Page :