PHP >Dizi (Array) İşlemleri
Değişkenlerde tek bir veri saklanmak mümkündür. Fakat birbirine benzeyen aynı türden birden çok veriyi saklanmak istenildiğinde değişkenler yetersiz kalmaktadır. Bu durumlarda diziler kullanılmaktadır. Diziler benzer veriler taşıyan ve bir seri oluşturan verilerin saklanmasında kullanılan yardımcılar olarak adlandırılabilir.
Örnegin illerden oluşan bir dizi oluşturmak istenildiğinde;
<?
$iller[0]="Ankara";
$iller[1]="İstanbul";
$iller[2]="İzmir";
$iller[3]="Bursa";
$iller[4]="Samsun";
?>
Böylece aynı değişken adı kullanarak bu değişkene bağlı indexler kullanılarak bu datalara ayrı ayrı erişilebilir.
<?
echo $iller[4];
?>
Yukarıdaki islemin sonucunda ekranda "Samsun" yazacaktır
PHP'de dizi tanımlaması : array() fonksiyonu ile yapılmaktadır. $iller = array ("Ankara","istanbul","izmir","Bursa","Ankara");
Diziler 0 nolu indexden başlamakta ve artarak devam ederler. Dizileri bu sekilde "numara" vererek "indekslemek" yerine karekter gruplari ile de indekslemek mümkündür. Bu şekildeki dizilerde dizi elemanlarına ulaşmak için karakterler kullanılmaktadır.
<?
$iller["ank"]="Ankara";
$iller["ist"]="İstanbul";
$iller["izm"]="İzmir";
$iller["brs"]="Bursa";
$iller["sms"]="Samsun";
?>
PHP'nin en guzel yanlarından bir tanesi de değişik tipteki verilerin bir dizide ortak olarak kullanilabilmesidir. Bu konuda aşağıdaki örneği inceleyebilirsiniz:
<?
$dizi[1] = 25;
$dizi[2] = "Yirmialtı";
$dizi[3] = 123456;
$dizi["sms"] = $iller[4];
?>
Dizilerin Tanımlanması ve Kullanılması
Bir diziyi tanımlamak için adının yazılıp köşeli parentezleri eklemek yeterlidir. PHP indeksleme işlemlerini yapmaktadır. Yanlizca dizinin ilk öğesini yaratıp arkasından ikinciyi yaratıp devam etmektedir. Bu şekilde diziler oluşturulmaktadır.
<?
$dizi[] = "Ankara";
$dizi[] = "istanbul";
$dizi[] = "izmir";
?>
Yukarıdaki şekilde tanımlama yapıldığında dizinin ilk elemanı yani $dizi[0] "Ankara" değerini almakta, ikinci elamanı ($dizi[1])ise "istanbul" değerini almaktadır.
PHP'de diğer bir dizi tanımlaması ise, array() fonksiyonu ile yapılmaktadır.
$iller = array ("Ankara","istanbul","izmir","Bursa","Ankara");
Dizi Boyunca Iterasyon
Bir dizinin bütün elemanlarını ekrana yazdırmak için tek tek bütün satırlarını yazdırmak yerine döngüyle yazdırmak tercih edilmektedir. Bir dizinin bütün elemanlarını yazdıran kod örneği aşağıdaki şekildedir.
<?
for ($i=1;$i < count($dizi);$i++){
echo dizi[$i];
}
?>
Dizilerin Sıralanması
Dizilerin sıralanmasi icin PHP icerisinde bircok fonksiyon bulunmaktadir.Sıralama komutlarının bazıları ve işlevleri aşağıda gösterilmiştir.
- sort (): En temel sıralama fonksiyonudur. Dizinin içerisindeki elemanları içeriklerine göre alfabetik olarak sıralar. Örnek : sort($dizi);
- asort () : Karekterler ile indexlenmis dizileri elemanların içeriklerine gore sıralamak için kullanılır. Örnek : asort($dizi);
- rsort () ve arsort() : sort () ve asort () fonksiyonlarına benzemektedir. Tek farkı dizi elemanlarının içeriklerini alfabenin tersi yönünde sıralamalarıdır. Örnek: rsort($dizi); arsort($dizi);
- ksort () : Karekter dizisi kullanılarak yaratılmış diziler için, indeksleri kullanarak alfabetik olarak sıralama yapar. Örnek : ksort($dizi);
Çok Boyutlu Diziler:
PHP icinde bir diziyi kullanırken ona iki'den fazla boyut katmak mümkündür. Bu hem kullanıcı hemde PHP nin yapısı itibari ile bir çok extra yükü beraberinde getirir. Kodun anlaşılmasını zorlaştırmaktadır, ayrıca sunucu icin ise kaynaklarının yok edilmesi bakımından önemlidir. Aşağıda çok boyutlu dizilerle ilgili bir örnek verilmiştir:
<?
$dizi = array("iller" => array("ankara","istanbul"),"ilceler" => array("merkez", array("keçiören","batıkent")));
echo $dizi["iller"][1]; // istanbul yazdırıldı.
echo $dizi["ilceler"][2][1]; // keçiören yazdırıldı.
?>
|