Now and then you need to sort your arrays alphabetically or numerically, if nothing else, then just to apply some programming logic and attain the desired output. You can sort an array in PHP by using two functions: sort(), to sort an array in ascending order, and rsort(), to sort an array in the reverse order, or descending order. I’ll illustrate this function with an example.
First, we loop through an array without applying any sorting:
Alfred Chandni Deepak Joshua Robert Sadiq Teresa Vladimir
You can see that the names have been alphabetically sorted in the ascending order. To sort of the names in descending order, we change the program like this:
Vladimir Teresa Sadiq Robert Joshua Deepak Chandni Alfred
A few days ago we studied about associative arrays in PHP. Now, you cannot sort an associative array by using the sort() function. Let’s see what happens if you apply the sort() function on an associative array in PHP:
<?php
$narray["IBM"]="International Business Machines"; $narray["MS"]="Microsoft"; $narray["CA"]="Computer Associated"; $narray["WHO"]="World Health Organization"; $narray["UK"]="United Kingdon"; $narray["BA"]="Something Random";
0 = Computer Associated 1 = International Business Machines 2 = Microsoft 3 = Something Random 4 = United Kingdon 5 = World Health Organization
So you can see that if you apply the sort() function on an associative array, it is sorted by the numeric value of the index. To sort an associative array, you use the asort() function in the following manner:
CA = Computer Associated IBM = International Business Machines MS = Microsoft BA = Something Random UK = United Kingdon WHO = World Health Organization
As you can see, the array has been sorted in the ascending order by the value of the array, and not the string index value, or the key of the array. You can use arsort() to sort an associative array in the descending order.
To sort an associative array according to the key of the array, you can use the ksort() function in the following manner:
<?php
$narray["IBM"]="International Business Machines"; $narray["MS"]="Microsoft"; $narray["CA"]="Computer Associated"; $narray["WHO"]="World Health Organization"; $narray["UK"]="United Kingdon"; $narray["BA"]="Something Random";