Array Sort In PHP: Everything You Need To Know

Last updated on Jun 06,2023 2.7K Views

Array Sort In PHP: Everything You Need To Know

edureka.co

Sorting means arranging data in a specific order which can be alphabetical, numerical, increasing or decreasing order according to some linear relationship among data items. It also improves the efficiency of searching. This article focuses on Array Sort In PHP.

Following pointers will be covered in this article,

Let us get started then,

sort(): Array Sort In PHP

Using this method, by default the array is sorted in ascending order.


<pre>
<?php
$var_array = array(10,20,30,40);
sort($var_array);
print_r($var_array);
?>
</pre>

Output:

Array

(
[0] => 10
[1] => 20
[2] => 30
[3] => 40
)

Moving further let us take a look at this,

rsort():Array Sort In PHP

Array is sorted in descending order.


<pre>
<?php
$alphabets = array('a','h','c','f');
rsort($alphabets);
foreach ($alphabets as $key => $val) {
echo "$key = $valn";
}
?>
</pre>

Output:

0 = h

1 = f

2 = c

3 = a

Third method in this topic is arsort

arsort() 

Associative arrays are sorted in descending order, according to value.


<pre>
<?php
$friends = array("a" => "Tarun", "q" => "ashok", "b" => "charan", "l" => "sabid");
arsort($friends);
foreach ($friends as $key => $val) {
echo "$key = $valn";
}
?>
</pre>

Output:

l = sabid
b = charan
q = ashok
a = Tarun

Let us try and understand how krsort works,

krsort():Array Sort In PHP

Associative arrays are sorted in descending order, according to the key.


<pre>
<?php
$var_array= array("1"=>"Ashok", "2"=>"Tarun", "3"=>"charan","4"=>"sabid","5"=>"adarsh","6"=>"chintan","7"=>"vaibhav");
krsort($var_array);
print_r($var_array);
?>
</pre>

Output:

Array

(
[7] => vaibhav
[6] => chintan
[5] => adarsh
[4] => sabid
[3] => charan
[2] => Tarun
[1] => Ashok
)

Let us move on to the next topic of this article,

asort():Array Sort In PHP

Associative arrays are sorted in ascending order, according to value.


<pre>
<?php
$var_array= array("1"=>"Ashok", "2"=>"Tarun", "3"=>"charan","4"=>"sabid","5"=>"adarsh","6"=>"chintan","7"=>"vaibhav");
asort($var_array);
print_r($var_array);
?>
</pre>

Output:

Array

(
[1] => Ashok
[2] => Tarun
[5] => adarsh
[3] => charan
[6] => chintan
[4] => sabid
[7] => vaibhav
)

It is time to move to the next topic in this article,

ksort() 

Associative arrays are sorted in ascending order, according to key


<pre>
<?php
$var_array= array("7"=>"vaibhav","6"=>"chintan","1"=>"Ashok","5"=>"adarsh", "2"=>"Tarun", "3"=>"charan","4"=>"sabid");
ksort($var_array);
print_r($var_array);
?>
</pre>

Output:

Array

(
[1] => Ashok
[2] => Tarun
[3] => charan
[4] => sabid
[5] => adarsh
[6] => chintan
[7] => vaibhav
)

Let us see natsort works,

natsort(): Array Sort In PHP

Array is sorted by using a “natural order” algorithm. It sorts in such a way that orders alphanumeric strings in the way a human being would maintain key or value associations.


<pre>
<?php
$var_files=array("file1.php","file2.php", "file3.php", "file0.php");
natsort($var_files);
print_r($var_files);
?>
</pre>

Output:

Array

(
[3] => file0.php
[0] => file1.php
[1] => file2.php
[2] => file3.php
)

Let us move futher,

natcasesort()

Array is sorted using a case insensitive “natural order” algorithm.


<pre>
<?php
$var_files = array("file12.php", "File22.txt","file2.php", "file3.php", "File1.php");
natcasesort($var_files);
print_r($var_files);
?>
</pre>

Output:

Array

(
[4] => File1.php
[2] => file2.php
[3] => file3.php
[0] => file12.php
[1] => File22.txt
)

Next we are going to take a look at uasort

uasort(): Array Sort In PHP

Array is sorted using a user-defined comparison function and maintain index association.


<pre>
<?php
function fun($a, $b)
{
if ($a== $b) return 0;
return ($a > $b) ? -1 : 1;
}
$array = array('a' => -1, 'b' => 6, 'c' => 8, 'd' => -9, 'e' => 1, 'f' => 5, 'g' => 3);
uasort($array, 'fun');
print_r($array);
?>
</pre>

Output:

Array

(

=> 8
[b] => 6
[f] => 5
[g] => 3
[e] => 1
[a] => -1
[d] => -9
)

This brings us to the final bit of this Array Sort In PHP article

uksort():

Array is sorted by keys using a user-defined comparison function


<pre>
<?php
function fun($a, $b)
{
if ($a== $b) return 0;
return ($a > $b) ? -1 : 1;
}
$array = array('a' => -1, 'b' => 6, 'c' => 8, 'd' => -9, 'e' => 1, 'f' => 5, 'g' => 3);
uksort($array, 'fun');
print_r($array);
?>
</pre>

Output:

Array

(
[g] => 3
[f] => 5
[e] => 1
[d] => -9

=> 8
[b] => 6
[a] => -1
)

usort():Array Sort In PHP

Array is sorted by values using a user-defined comparison function.


<pre>
<?php
function fun($a, $b)
{
if ($a== $b) return 0;
return ($a > $b) ? -1 : 1;
}
$array = array('a' => -1, 'b' => 6, 'c' => 8, 'd' => -9, 'e' => 1, 'f' => 5, 'g' => 3);
usort($array, 'fun');
print_r($array);
?>
</pre>

Output:

Array

(
[0] => 8
[1] => 6
[2] => 5
[3] => 3
[4] => 1
[5] => -1
[6] => -9
)

With this we come to an end of this article, I hope you have learned about the all the array sort functions used in PHP. If you found this article  relevant, check out the PHP Certification Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe.

Discover how to create mobile apps that look and feel great on any platform with a comprehensive Flutter Course.

Got a question for us? Please mention it in the comments section of  this article and I will get back to you.

BROWSE COURSES