
Php’de diziler
İçindekiler
Merhabalar arkadaşlar bugün Php’de dizilerden bahsedeceğim. Diziler nedir, nerelerde kullanılır, ekleme ve çıkarma fonksiyonlarından, ilişkili dizilerden, dizilerde atama ve değişiklik yapma, iç içe dizi kullanımlarından bahsedeceğiz. Dilerseniz yazımıza diziler nedir ile başlayalım.
Diğer programlama dillerinde olduğu gibi PHP’de de dizilerden yararlanılır. Tanım olarak içerisinde bir çok değer saklanabilen, çoklu verilere daha verimli müdahale etmemizi sağlayan sıralı değişkenler kümesidir.
Dizi değişkenlerini nerelerde kullanılmaktadır?
Çok geniş kapsamlı kullanım alanına sahiptir. Örnek vermek gerekirse bu kullanım alanlarına mySQL veri tabanı işlemlerinde sıkça kullanılmaktadır.
Dizi tanımlama
Php’de dizi Array fonksiyonu ile oluşturulmaktadır. Bu oluşturulan dizi bir değişkene atanması ile kullanılmasına sağlanmaktadır.
<?php $gezegenler = array('Mars','Neptün','Jüpiter','Satürn','Dünya'); $diziSayisi = count($gezegenler); echo "- ". $gezegenler[0] ."<br>"; echo "- ". $gezegenler[1] ."<br>"; echo "- ". $gezegenler[2] ."<br>"; echo "- ". $gezegenler[3] ."<br>"; echo "- ". $gezegenler[4] ."<br>"; echo "Dizi içerisinde bulunan eleman sayısı " .$diziSayisi; ?>
Görüldüğü array ile oluşturulan ve içerisine gezegen isimlerinin bulunduğu bir dizi tanımlaması yaptık ve bunu $gezegenler adlı bir değişkene atadık. Ve dizi elemanlarımızı ekrana sırayla ekrana yazdırdık. Ayrıca count ile dizi içerisindeki eleman sayısını öğrenerek çıktının en altında görüntüledik.
Dizilere Ekleme ve Çıkarma İşlemleri
array_shift ( )
Bu fonksiyon dizi listesinin başında bulunan bir elemanı çıkarıp atma işlemini yapabilmektedir.
<?php $iller = array('İstanbul','Ankara','Bursa','İzmir','Eskişehir'); echo "# Array_shift kullanmadan önce #<br>"; foreach ($iller as $şehirler) { echo $şehirler . "<br>"; } array_shift($iller); echo "<br># Array_shift kullanıldıktan sonra #<br>"; foreach ($iller as $şehirler) { echo $şehirler ."<br>"; } ?>
array_unshift ( )
Bu fonksiyon dizi listesinin başına istediğimiz sayıda yeni eleman eklememizi sağlıyor.
<?php $iller = array('İstanbul','Ankara','Bursa','İzmir','Eskişehir'); echo "# Array_unshift kullanmadan önce #<br>"; foreach ($iller as $şehirler) { echo $şehirler . "<br>"; } $çıkan = array_unshift($iller, 'Bayburt', 'Sivas'); echo "<br># Array_unshift kullanıldıktan sonra #<br>"; foreach ($iller as $şehirler) { echo $şehirler ."<br>"; } ?>
array_pop ()
Bu fonksiyon dizi listesinin sonunda bulunan bir elemanı çıkarıp atma işlemini yapabilmektedir. array_shift fonksiyonun benzer işlevinde olup farkı olarak sondan çıkarma işlemi yapmaktadır.
<?php $iller = array('İstanbul','Ankara','Bursa','İzmir','Eskişehir'); echo "# Array_pop kullanmadan önce #<br>"; foreach ($iller as $şehirler) { echo $şehirler . "<br>"; } $çıkan = array_pop($iller); echo "<br># Array_pop kullanıldıktan sonra #<br>"; foreach ($iller as $şehirler) { echo $şehirler ."<br>"; } ?>
array_push ()
Bu fonksiyon dizi listesinin sonunda istediğimiz sayıda yeni eleman eklememizi sağlıyor. array_unshift fonksiyonun benzer işlevinde olup farkı olarak sondan ekleme işlemi yapmaktadır.
<?php $iller = array(‘İstanbul’,’Ankara’,’Bursa’,’İzmir’,’Eskişehir’); echo “# Array_push kullanmadan önce #<br>”; foreach ($iller as $şehirler) { echo $şehirler . “<br>”; } $çıkan = array_push($iller, ‘Bayburt’, ‘Sivas’); echo “<br># Array_push kullanıldıktan sonra #<br>”; foreach ($iller as $şehirler) { echo $şehirler .”<br>”; } ?>
İlişkili Diziler
İlişkili diziler değer çiflerinin bir araya geldikleri dizilere denir. İlişkili dizilerde çok sayıda anahtar => değer çiftilerinin virgüller ile birbirleriyle ayrılmış halidir. İlişkili diziler içerik olarak benzer türden verileri içerir. Mesela bir kişinin bilgilerini örnek olarak verebiliriz. Adı, soyadı, yaşı, memleketi vb.
Anahtar adı sözcük veya sayı olabilmektedir. Anahtar adı harf ya da sözcük ise tek tırnak veya çift tırnak arasına alınmalıdır.
<?php $bilgiler = array("ad" => "Abdülhamit", "soyad" => "Cennet", "yas" => 41); echo "Adı: " .$bilgiler["ad"] ."<br>"; echo "Soyadı: " .$bilgiler["soyad"] ."<br>"; echo "Yaşı: " .$bilgiler["yas"] ."" ?>
Diğer bir kullanımı ise şu şekildedir.
<?php $bilgiler = array("ad" => "Abdülhamit", "soyad" => "Cennet", "yas" => 41); echo "Adı: " .$bilgiler["ad"] ."<br>"; echo "Soyadı: " .$bilgiler["soyad"] ."<br>"; echo "Yaşı: " .$bilgiler["yas"] ."" ?>
Anahtar adını bir değişkense tırnak arasına alınmamalıdır. Değişken köşeli parantez [ ] içerisine yazılmalıdır.
İç içe diziler (Çok boyutlu diziler)
Diğer programlama dillerinde olduğu gibi birden fazla diziler bir arada gösterme şansına sahibizdir. Yani bir dizimizin içerisine birden fazla dizi oluşturabiliriz. Dizi içerisindeki dizilerinde elemanları vardır. Konuyu daha detaylı kavramamız için örneğimizi inceleyelim.
<?php $ülkeler = array( array("İngiltere","Fransa","Almanya","Portekiz"), array("Türkiye","Azerbaycan","Çin","Pakistan"), array("Kongo","Madagaskar","Tunus","Mısır") ); echo "######### Ülkeler #########<br><br>"; for ($x=0; $x<count($ülkeler); $x++) { for ($y=0; $y<count($ülkeler[0]); $y++) { echo " - " .$ülkeler[$x][$y]; } echo "<br>"; } ?>
Çok boyutlu diziler diğer kullanım türleri şu şekildedir.
1.kullanım
<?php $besinler = array( "meyve" => array("Aslan","Kaplan","Çita"), "sebze" => array("Kartal","Atmaca","Baykuş") ); echo $besinler["meyve"][0] . "<br>"; echo $besinler["sebze"][1]; ?>
2.kullanım
<?php $hayvanlar = array( array("Aslan","Kaplan","Çita"), array("Kartal","Atmaca","Baykuş") ); echo $hayvanlar[0][0] ." - ". $hayvanlar[0][1] ." - ". $hayvanlar[0][2] ."<br><br>"; echo $hayvanlar[1][0] ." - ". $hayvanlar[1][1] ." - ". $hayvanlar[1][2] ."<br><br>"; ?>