PHP Developer mülakatlarında sık sorulan sorular ile alakalı araştırmalarımda karşıma çıkan ve beğendiğim soruların çözümleri hakkında bir dizi yazı yazmak istedim.
Bu sorulardan biri de Dizileri “PHP’de nasıl sıralarız?” idi. PHP’de dizileri sıralamak için PHP’nin kendi içinde barındırdığı bir takım fonksiyon var. Bunlar;
sort() - Dizileri artan şekilde sıralar.
rsort() - Dizileri azalan şekilde sıralar.
asort() - Dizi içindeki dizilerin değerlerine göre artan şekilde sıralar.
ksort() - Dizi içindeki dizilerin anahtar değerlerine göre artan şekilde sıralar.
arsort() - Dizi içindeki dizilerin değerlerine göre azalan şekilde sıralar.
krsort() - Dizi içindeki dizilerin anahtar değerlerine göre azalan şekilde sıralar.
şeklinde sıralanabilir. Bunları uygulamalarla örneklendirelim.
İndeksli dizileri sıralamak
Dizileri Artan Sırada Sıralamak - sort()
Dizileri artan şeklinde sıralar, örnek vermek gerekirse;
$array = [1,52,69,9,32,13,45,102];
sort($array);
// Buna göre diziyi ekrana bastığımız zaman aşağıdaki gibi bir çıktı elde ederiz.
print_r($array);
// Çıktı: Array ( [0] => 1 [1] => 9 [2] => 13 [3] => 32 [4] => 45 [5] => 52 [6] => 69 [7] => 102 )
Dizileri Azalan Sırada Sıralamak - rsort()
Dizileri azalan şekilde sıralamak için de örnek olarak;
$array = [1,52,69,9,32,13,45,102];
rsort($array);
// Buna göre diziyi ekrana bastığımız zaman da aşağıdaki gibi bir çıktı elde edeceğiz.
print_r($array);
// Çıktı: Array ( [0] => 102 [1] => 69 [2] => 52 [3] => 45 [4] => 32 [5] => 13 [6] => 9 [7] => 1 )
Dizi İçindeki Dizilerin Değerlerine Göre Sıralamak
Artan Sıralama - asort()
Bu fonksiyon dizi içinde başka dizileri değerlerine göre artan sıralamak için kullanılır. Örneğin;
$arrayception = [
'Cobb' => 34,
'Arthur' => 25,
'Mal' => 2,
'Eames' => 13,
'Saito' => 8
];
asort($arrayception);
print_r($arrayception);
// Bu diziyi ekrana bastığımız zaman aşağıdaki gibi bir çıktı verecektir;
// Çıktı: Array ( [Mal] => 2 [Saito] => 8 [Eames] => 13 [Arthur] => 25 [Cobb] => 34 )
Azalan Sıralamak - arsort()
Bu fonksiyon dizi içinde başka dizileri değerlerine göre azalan sıralamak için kullanılır. Örneğin;
$arrayception = [
'Cobb' => 34,
'Arthur' => 25,
'Mal' => 2,
'Eames' => 13,
'Saito' => 8
];
arsort($arrayception);
print_r($arrayception);
// Bu diziyi ekrana bastığımız zaman aşağıdaki gibi bir çıktı verecektir;
// Çıktı: Array ( [Cobb] => 34 [Arthur] => 25 [Eames] => 13 [Saito] => 8 [Mal] => 2 )
Dizi İçindeki Dizilerin Anahtar Değerine Göre Sıralamak
Artan Sıralama - ksort()
Bu fonksiyon ise dizi içinde başka dizileri anahtar değerlerine göre artan sıralamak için kullanılır. Örneğin;
$arrayception = [
'Cobb' => 34,
'Arthur' => 25,
'Mal' => 2,
'Eames' => 13,
'Saito' => 8
];
ksort($arrayception);
print_r($arrayception);
// Bu diziyi ekrana bastığımız zaman aşağıdaki gibi bir çıktı verecektir;
// Çıktı: Array ( [Arthur] => 25 [Cobb] => 34 [Eames] => 13 [Mal] => 2 [Saito] => 8 )
Azalan Sıralama - krsort()
Son olarak krsort() fonksiyonu ise dizi içinde başka dizileri anahtar değerlerine göre azalan sıralamak için kullanılır. Örneğin;
$arrayception = [
'Cobb' => 34,
'Arthur' => 25,
'Mal' => 2,
'Eames' => 13,
'Saito' => 8
];
krsort($arrayception);
print_r($arrayception);
// Bu diziyi ekrana bastığımız zaman aşağıdaki gibi bir çıktı verecektir;
// Çıktı: Array ( [Saito] => 8 [Mal] => 2 [Eames] => 13 [Cobb] => 34 [Arthur] => 25 )