Başlarken;
PHP’nin nasıl bir dil olduğuna ” PHP 5N1K? “ başlıklı makalemde değinmiştik. Temel kullanımına da ” PHP Rehberi – Giriş “ başlıklı makalemden ulaşabilirsiniz. Bu makalemde PHP’de veri türü olan diziler (array) kavramına değineceğiz.
İzlenecek Yol Haritası;
- Dizi oluşturma ve değer atama.
- Dizi kullanma.
- Dizi güncelleme.
- Dizi silme.
- Dizi’nin tamamını yazdırmak.
- İç içe diziler tanımlama.
- Temel Dizi fonksiyonları.
Dizi Oluşturma;
Dizi için ” PHP Rehberi – Veri Türleri “ başlıklı makalemde şu şekilde bir tanımlama yapmıştık. “Pazardan aldın bir tane eve geldin bin tane.”. İçerisinde birden fazla veri barındırabilen değişkenlerdir diziler. Diziler farklı yollar yardımı ile oluşturulabilir. Yollar değişse de temel mantığı olan birden fazla veri barındırma işlemini yapmaya devam eder.
Dizi Oluşturma – array() Fonksiyonuyla;
<?php
$diller = array("Türkçe", "İngilizce", "Almanca");
?>
Dizi Oluşturma – Fonksiyonsuz;
<?php
$diller[0] = "Türkçe";
$diller[1] = "İngilizce";
$diller[2] = "Almanca";
?>
Peki ya ne değişti? array() fonksiyonunu kullanmadığımızda fark ediyoruz ki dizi içerisine atılacak her veriyi 0,1,2,3… sırası ile atıyoruz. Bu sıraya dizilerde “index (indis)” denir. Ve evet tabi ki de bu sayısal veriler yerine string ifadeler gelebilir.
<?php
$diller["tr"] = "Türkçe";
$diller["en"] = "İngilizce";
$diller["de"] = "Almanca";
?>
Peki ya bu tek tek tanımlamayı array() fonksiyonu ile yapmak istersek nasıl bir yol izleyeceğiz?
<?php
$diller = array("tr" => "Türkçe, "en" => "İngilizce", "de" => "Almanca");
?>
Bu kullanıma dizilerde “key => value” çifti denir. İlerleyen rehberlerde ve yazılımcılık hayatınızda bol bol göreceğiniz mutlu bir çift kendileri 🙂
Dizi Kullanma;
Elimizde oluşturduğumuz bir “$diller” dizisi bulunuyor. İçerisinde birden fazla veri olduğunu biliyoruz. Peki ya bu durumda biz bu verilere nasıl erişeceğiz?
<?php
echo $diller[0];
// Dizilere index ile erişim sağlanabilir.
echo $diller["tr"];
// Dizilere "string" olarak tanımlanan key değerleri ile erişim sağlanabilir.
// İki çıktı da tanımlanan dizilere göre ekranda "Türkçe" yazar.
?>
Dizi Güncelleme;
Diziler içinde onca veri var ve siz içlerinden bir veri değiştirmek istediniz. Baştan tabi ki tanımlamıyoruz. Samanlıktaki iğneyi bulup değişmesini söylememiz yetiyor 😀
<?php
$diller["en"] = "English";
?>
Dizi Silme;
Diziler içerisinden tekil bir veri silmek isteyebilirsiniz. Ya da kafanıza tak etmiştir tüm diziden kurtulmak istiyorsunuzdur. Bu işlem için “unset()” fonksiyonunu kullanacağız.
<?php
unset($diller["de"]);
// Dizi içerisinden "Almanca" verisi çıkartılmış oldu.
unset($diller);
// $diller dizisi tamamen silindi.
?>
İç İçe Dizi Tanımlamak;
“Diziler içerisinde farklı veri türleri depolayabilir.” demiştik. Evet diziler içerisinde dizi barındırabilir. Kategoriler altında bulunan alt kategoriler örnek olabilir. Veya bir araba markası altındaki arabalar gibi. Örnekler arttırılarak çoğaltılabilir.
<?php
// array() Fonksiyonu Yardımıyla Tanımlama
$icecekler = array(
"Soguk" => array("Kola", "Gazoz", "Meyve Suyu"),
"Sicak" => array("Kahve", "Çay")
);
// Fonksiyon Kullanmadan Tanımlama
$icecekler["Soguk"][0] = "Kola";
$icecekler["Soguk"][1] = "Gazoz";
$icecekler["Soguk"][2] = "Meyve Suyu";
$icecekler["Sicak"][0] = "Kahve";
$icecekler["Sicak"][1] = "Çay";
// İç İçe Dizi Kullanımı
echo $icecekler["soguk"][0];
// Ekrana "Kola" yazdırır.
?>
Dizi’nin Tamamını Yazdırmak;
Bu makaleyi olurken dizinin tamamını yazdırmak için “echo” komutunu kullandın ve hata aldın değil mi? Sebebi dizinin tekil bir veri içermemesidir. echo komutu değişken ve içerdiği veriyi yazdırır. Dizi içeriğinin yazdırılması için “print_r()” fonksiyonunu kullanacağız.
<?php
print_r($diller);
// Düzgün bir çıktı vermiyor değil mi? Bir aşağıdaki kodu kullanmayı dene :)
echo "<pre>";
print_r($diller);
echo "<pre>";
?>
Temel Dizi Fonksiyonları;
- array()
- Dizi oluşturmaya yardımcı olur.
- array_keys()
- Dizi içerisindeki key değerlerini döndürür.
- array_pop()
- Dizinin en sonundan bir eleman siler.
- array_push()
- Dizinin en sonuna bir eleman ekler.
- array_replace()
- Dizi içerisindeki değerlerin yerini değiştirmek veya içerideki veriyi değiştirmek amacıyla kullanılır.
- array_reverse()
- Diziyi tersine çevirir. (Son eleman ilk, ilk elaman son olur.)
- array_search()
- Dizi içinde aranan verinin key veya index değerini döndürür.
- array_values()
- Dizi içerisindeki value değerlerini döndürür.
- count()
- Dizi içerisindeki eleman sayısını döndürür.
- sort()
- Değerlere göre (value) küçükten büyüğe sıralama yapar. key ile ilişki bozulur.
- rsort()
- Değerlere göre (value) büyükten küçüğe sıralama yapar. key ile ilişki bozulur.
- sort()
- Değerlere göre (value) küçükten büyüğe sıralama yapar. key ile ilişki bozulmaz.
- rsort()
- Değerlere göre (value) büyükten küçüğe sıralama yapar. key ile ilişki bozulmaz.
- ksort()
- Anahtar’a (key) göre küçükten büyüğe sıralama yapar.
- krsort()
- Anahtar’a (key) göre büyükten küçüğe sıralama yapar.
Umarım ki “PHP Rehberi – Diziler (Array)” makalesi hoşunuza gitmiştir. Keyifli ve Bol Bug’lu Günler Dilerim 🙂
Yasin Erarslan