PHP Dizilerde Sıralama Yapma Yöntemleri

PHP Dizilerde Sıralama Yapma Yöntemleri

PHP dizilerde sıralama yapmanın çeşitli yöntemlerini hazır PHP dizi fonksiyonları kullanarak ayrıntılı şekilde bu yazıda inceleyeceğiz. Eleman değerlerine göre, indis değerlerine göre, büyükten küçüğe veya küçükten büyüğe sıralama, diziyi tersten sıralama (diziyi ters çevirme), sıralanırken indis değerlerinin veya eleman değerlerinin muhafazası gibi özellikleri gözeterek sıralama yapılabilir. Bu konular ayrıntılı olarak bu yazıda göreceğiz.

sort() fonksiyonu

Dizi içerisinde küçükten – büyüğe artan bir şekilde sıralama yapmak için kullanılır. Hem sayısal hem metinsel sıralama yapılabilir. Sort fonksiyonu ile dizi yeniden sıralandığında anahtarlar ( indisler) yeniden oluşturulur ve eski değerler saklanmaz. 2 parametre ile kullanılır ancak 2. parametreyi kullanmak zorunlu değildir. Varsayılan olarak 0’dır. Sort fonksiyonu 2. parametresine girilebilecek değerler ile sıralama kuralları değişebilir. Aşağıda 2. Parametreye girilebilecek bazı değerler bulunmakta.

0 = SORT_REGULAR
– Count fonksiyonunun 2. Parametresinin varsayılan değeridir.
Normal sıralama işlemini gerçekleştirir.

1 = SORT_NUMERIC
– Sayısal olarak kıyaslar ve sıralar.

2 = SORT_STRING
– Metinsel olarak kıyaslar ve sıralar.

Sort fonksiyonu 2. Parametresi için daha fazla ayrıntı için tıklayın. Sayısal veya metinsel olarak küçükten büyüğe dizi sıralama işlemi için PHP sort fonksiyonu kullanımı aşağıdaki gibidir.

$dizi = array(
	'Aslan',
	'Kaplan',
	'Ayı',
	'Timsah', 
	'Babun'
);
$dizi2 = array(1,3,52,34,42);

sort($dizi);
sort($dizi2);

print_r($dizi); 
/*	--Çıktı--
	Array ( 
		[0] => Aslan 
		[1] => Ayı 
		[2] => Babun 
		[3] => Kaplan 
		[4] => Timsah 
	)
*/

print_r($dizi2); 
/*
	--Çıktı--
	Array ( 
		[0] => 1 
		[1] => 3 
		[2] => 34 
		[3] => 42 
		[4] => 52 
	)
*/

rsort() fonksiyonu

Dizi içerisinde büyükten – küçüğe azalan bir şekilde sıralama yapmak için kullanılır. Hem sayısal hem metinsel kıyaslama ve sıralama yapabilir. Kullanımı sort fonksiyonu ile aynıdır. Rsort fonksiyonu kullanılarak sıralama yapıldıktan sonra anahtarlar (indisler) güncellenir ve eski değerler saklanmaz. 2 parametre ile kullanılır. Sort fonksiyonu kullanımında bahsedilen konular bu fonksiyon için de geçerlidir. Büyükten küçüğe sayısal veya metinsel olarak dizi sıralama işlemi için PHP rsort kullanımı aşağıdaki gibidir.

$dizi = array(
	'Kağıt',
	'Defter',
	'Kitap',
	'Parşomen', 
	'Tablet'
);
$dizi2 = array(5,3,140,132,500);

rsort($dizi);
rsort($dizi2);

print_r($dizi); 
/*	--Çıktı--
	Array ( 
		[0] => Tablet 
		[1] => Parşomen 
		[2] => Kitap 
		[3] => Kağıt 
		[4] => Defter 
	)
*/

print_r($dizi2); 
/*
	--Çıktı--
	Array ( 
		[0] => 500 
		[1] => 140 
		[2] => 132 
		[3] => 5 
		[4] => 3 
	)
*/

asort() fonksiyonu

Sort fonksiyonu gibi küçükten – büyüğe artan bir şekilde sıralama yapar. Tek farkı dizi üzerinde sıralama yapıldığında dizinin elemanlarının anahtarları (indisleri) muhafaza edilir. Kullanımı sort fonksiyonu ile aynıdır. PHP asort fonksiyonu kullanımı aşağıdaki gibidir.

$dizi = array(
	'Çin',
	'Hindistan',
	'ABD',
	'Endonezya', 
	'Brezilya'
);
$dizi2 = array(5,3,140,132,500);

asort($dizi);
asort($dizi2);

print_r($dizi); 
/*	--Çıktı--
	Array ( 
		[2] => ABD 
		[4] => Brezilya 
		[3] => Endonezya 
		[1] => Hindistan 
		[0] => Çin 
	)
*/

print_r($dizi2); 
/*
	--Çıktı--
	Array ( 
		[1] => 3 
		[0] => 5 
		[3] => 132 
		[2] => 140 
		[4] => 500 
	)
*/

arsort() fonksiyonu

Rsort fonksiyonu gibi büyükten – küçüğe azalan bir şekilde sıralama yapar. Farkı ise dizi içerisinde sıralama yapıldığı sırada elemanların anahtarları muhafaza edilir. Rsort kullanımı ile aynıdır. PHP arsort kullanımı aşağıdaki gibidir.

$dizi = array(
	'Google',
	'Yahoo',
	'Yandex',
	'Bing', 
	'Baidu'
);
$dizi2 = array(5,3,140,132,500);

arsort($dizi);
arsort($dizi2);

print_r($dizi); 
/*	--Çıktı--
	Array ( 
		[2] => Yandex 
		[1] => Yahoo 
		[0] => Google 
		[3] => Bing 
		[4] => Baidu 
	)
*/

print_r($dizi2); 
/*
	--Çıktı--
	Array ( 
		[4] => 500 
		[2] => 140 
		[3] => 132 
		[0] => 5 
		[1] => 3 
	)
*/

ksort () fonksiyonu

Dizi içerisinde küçükten büyüğe artan bir şekilde anahtarlara göre sıralama yapar. PHP ksort fonksiyonu kullanımı aşağıdaki gibidir.

$dizi = array(
	1 => 'Değer 1',
	2 => 'Değer 2',
	3 => 'Değer 3',
	4 => 'Değer 4',
	5 => 'Değer 5',
);

ksort($dizi);
print_r($dizi);
/*
	Array ( 
		[1] => Değer 1 
		[2] => Değer 2 
		[3] => Değer 3 
		[4] => Değer 4 
		[5] => Değer 5 
	)
*/

krsort () fonksiyonu

Dizideki verileri anahtara göre büyükten küçüğe azalan bir şekilde sıralama yapar. PHP krsort kullanımı aşağıdaki gibidir.

$dizi = array(
	1 => 'Birinci değer',
	2 => 'İkinci değer',
	3 => 'Üçüncü değer',
	4 => 'Dördüncü değer',
	5 => 'Beşinci değer',
);

krsort($dizi);
print_r($dizi);
/*
	Array ( 
		[5] => Beşinci değer 
		[4] => Dördüncü değer 
		[3] => Üçüncü değer 
		[2] => İkinci değer 
		[1] => Birinci değer 
	)
*/

array_reverse fonksiyonu

PHP diziyi ters çevirme işlemi array_reverse fonksiyonu ile gerçekleştirilebilir. 2 parametre ile kullanılır. İlk parametre dizi değeri, ikinci parametre ise dizideki elemanların anahtarlarını muhafaza edip etmeyeceğini belirten “true” ve “false” değerleridir. Kullanımı zorunlu değildir ve “true” ise anahtar değerlerini muhafaza et, “false” ise etme şeklinde çalışır. Diziyi tersten sıralamak için PHP array_reverse fonksiyonu kullanımı aşağıdaki gibidir.

$ulkeler = array(
	1 => 'Rusya',
	2 => 'Kanada',
	3 => 'ABD',
	4 => 'Çin',
	5 => 'Brezilya'
);

$yeni_dizi = array_reverse($ulkeler);
print_r($yeni_dizi);
/*
	--çıktı--
	Array ( 
		[0] => Brezilya 
		[1] => Çin 
		[2] => ABD 
		[3] => Kanada 
		[4] => Rusya 
	)
*/
$yeni_dizi2 = array_reverse($ulkeler,true);
print_r($yeni_dizi2);
/*
	--çıktı--
	Array ( 
		[5] => Brezilya 
		[4] => Çin 
		[3] => ABD 
		[2] => Kanada 
		[1] => Rusya 
	)
*/
Yorum Yap
0 Yorum yapan