Get Adobe Flash player

Php ile Diziler ve Dizi Tanımlamaları

array( )
array() komutu anahtar ve değerden oluşan bir dizi oluşturur. Eğer anahtar belirtilmezse anahtar otomatik olarak atanır ve anahtar değeri 0 dan başlayarak her bir değer için bir artar.

direk dizinin kullanılışı:

<?php
$mevsim1 = "İlkbahar";
$mevsim2 = "Yaz";
$mevsim3 = "Sonbahar";
$mevsim4 = "Kış";
echo "$mevsim1 $mevsim2 $mevsim2 $mevsim4";
/*
Ekran Çıktısı:
İlkbahar
Yaz
Sonbahar
Kış
*/
?>
yukarıdaki yöntem uzun, şimdi de bunu kısa yoldan nasıl ekrana yazdırabilir bunu görelim;

<?php
$mevsim[1]="İlkbahar";
$mevsim[2]="Yaz";
$mevsim[3]="Sonbahar";
$mevsim[4]="Kış";
print_r ($mevsim);
/*
Ekran Çıktısı:
Array ( [1] => İlkbahar [2] => Yaz [3] => Sonbahar [4] => Kış )
*/
?>
Bu şekilde dizi elemanlarının eleman sayısı ile birlikte tek satır yazdırma komutu ile ekranda listelenebilir.

Diziye Eleman Eklemek
Var olan bir diziye eleman indeks numarasını yazarak dizi elemanı eklenebilir.

<?
$mevsim[1]="İlkbahar";
$mevsim[2]="Yaz";
$mevsim[3]="Sonbahar";
$mevsim[4]="Kış";
# ek olarak mevsim 5 ve mevsim 6 y ekleyelim
$mevsim[5]="Mevsim 5";
$mevsim[6]="Mevsim 6";
print_r ($mevsim);
print 'mevsim[5]"'.$mevsim[5].!"<br>';
/*
Ekran Çıktısı:
Array ( [1] => İlkbahar [2] => Yaz [3] => Sonbahar [4] => Kış [5] => Mevsim 5 [6] => Mevsim 6 )
*/
?>
Dizi Elemanını Dizi İçinden Silmek
Dizi elemanlarından birini silmek için unset(); fonksiyonunu kullanabiliriz. Bunun için diziden hangi elemanı sileceğimizi belirtmemiz gerekir.

<?
$mevsim[1]="İlkbahar";
$mevsim[2]="Yaz";
$mevsim[3]="Sonbahar";
$mevsim[4]="Kış";
$mevsim[5]="Mevsim 5";
unset($mevsim[5]);
print_r ($mevsim);
/*
Ekran Çıktısı:
Array ( [1] => İlkbahar [2] => Yaz [3] => Sonbahar [4] => Kış )
mevsim 5 gösterilmedi çünkü onu sildik
*/
?>
Array Fonksiyonu İle Dizi Tanımlama
Array dizi tanımlama donksiyonudur. array(“parametre 1″,”parametre 2″,”parametre 2″,…,”parametre N”); Bu şekilde dizi tanımlanır. Bunu bir örnek ile inceleyelim.

<?
$mevsim3 = array("ilkbahar","yaz","sonbahar","kış");
/*
Ekran Çıktısı :
Array([0]=>ilkbahar[1]=>yaz[2]=>sonbahar[3]=>kış)
*/
?>
$mevsim3 değişkenine atadığımız dizi elemanları çıktı ekranındaki gibi ilk eleman değeri sıfırdan başlayarak gösterir.
Tanımladığımız diziden istediğimiz elemanı silmek içinde gene unset(); fonksiyonunu kullanırız.

<?
$mevsim3 = array("ilkbahar","yaz","sonbahar","kış");
unset($mevsim3[3]);
/*
Ekran Çıktısı:
Array([0]=>ilkbahar[1]=>yaz[2]=>sonbahar)
*/
?>
Numerik Olmayan Dizi İndisi Kullanmak
Numerik olmayan yani dizideki elemanların; eleman sayılarının belirtilmemesidir.

 

<?
$sene["mevsim"]=("ilkbahar");
$sene[]=("yaz");
$sene[]=("sonabahar");
$sene[]=("kış");
print_r ($sene)
/*
Ekran Çıktısı:
Array ( [mevsim] => ilkbahar [0] => yaz [1] => sonabahar [2] => kış )
*/
?>
Eleman numarsı belirtmeyip bir metinsel ifade yazıp bu metne değer atayabiliriz. Aşağıdaki örnekteki gibi;

<?
$sene["mevsim1"]=("ilkbahar");
$sene["mevsim2"]=("yaz");
$sene["mevsim3"]=("sonabahar");
$sene["mevsim4"]=("kış");
print_r ($sene)
/*
Ekran Çıktısı:
Array ( [mevsim1] => ilkbahar [mevsim2] => yaz [mevsim3] => sonabahar [mevsim4] => kış )
*/
?>
Başka bir örnek:

<?
$sebze["domates"]=5;
$sebze["biber"]=12;
$sebze["patlican"]=15;
$sebze["marul"]=10;
print_r ($sebze)
/*
Ekran Çıktısı:
Array ( [domates] => 5 [biber] => 12 [patlican] => 15 [marul] => 10 )
*/
?>
Dizi Eleman Sayısını Bulmak
Bir dizinin eleman sayısını bulmak için count(); veya sizeof(); fonksiyonunu kullanırız.

<?
$sene["mevsim1"]=("ilkbahar");
$sene["mevsim2"]=("yaz");
$sene["mevsim3"]=("sonabahar");
$sene["mevsim4"]=("kış");
$sayi = count($sene);
print "bir senede $sayi mevsim vardır.";

$sayi1 = sizeof($sene);
print "bir senede $sayi1 mevsim vardır.";
/*Ekran Çıktısı:
bir senede 4 mevsim vardır.
*/
?>
Numerik İndisli Dizilerin Döngülerde Kullanılması
Nmerik İndisli Dizi Tanımı

<?
$mevsim = array("ilkbahar","yaz","sonbahar","kış");
print_r ($mevsim);
/*Ekran Çıktısı:
Array ( [0] => ilkbahar [1] => yaz [2] => sonbahar [3] => kış )
*/
?>
Alfabetik İndisli Dizi Tanımı

<?
$sebze= array("domates"=>5, "biber"=>12, "patlican"=>15, "marul"=>10);
print_r ($sebze);
/*Ekran Çıktısı:
Array ( [domates] => 5 [biber] => 12 [patlican] => 15 [marul] => 10 )
*/
?>
Foreach Döngüsünde Kullanımı:

<?
$mevsim = array("ilkbahar","yaz","sonbahar","kış");
foreach($mevsim as $mevsimadi){
print $mevsimadi."<br>";
}
?>
For Döngüsünde Kullanımı

<?
$mevsim = array("ilkbahar","yaz","sonbahar","kış");
for ($sayac=0; $sayac < count($mevsim); $sayac++){
print $mevsim[$sayac]."<br>";
}
/*Ekran Çıktısı:
ilkbahar
yaz
sonbahar
kış
*/
?>
Bu şekilde for ve foreach dongüleri ile numerik dizilerde alıp çeşitli şekillerde görüntüleyebilirsiniz.

For dögüsünde indizlerin kaçıncı eleman olduklarını da yazdırabiliriz. Örneğin:

<?
$mevsim = array("ilkbahar","yaz","sonbahar","kış");
for ($sayac=0; $sayac < count($mevsim); $sayac++){
print "$sayac. eleman $mevsim[$sayac].<br>";
}
/*
Ekran Çıktısı:
0. eleman ilkbahar.
1. eleman yaz.
2. eleman sonbahar.
3. eleman kış.
*/
?>
Alfanumerik dizisinin dongulerle kullanılması:

<?
$sebze= array("domates"=>5, "biber"=>12, "patlican"=>15, "marul"=>10);
print_r ($sebze);
/*
Ekran Çıktısı:
Array ( [domates] => 5 [biber] => 12 [patlican] => 15 [marul] => 10 )
*/
?>
Şimdi bunu foreach döngüsü ile gösterelim..

<?
$sebze= array("domates"=>5, "biber"=>12, "patlican"=>15, "marul"=>10);
foreach($sebze as $sebzeadi => $fiyat){
print "$sebzeadi fiyatı : $fiyat liradır. <br>";
}
/*
Ekran Çıktısı:
domates fiyatı : 5 liradır.
biber fiyatı : 12 liradır.
patlican fiyatı : 15 liradır.
marul fiyatı : 10 liradır.
*/
?>
Foreach döngüsü ile anahtarlı olarak dizilerin kullanılması bu şekildedir.

Dizi Dongü Tablolarının HTML İle Kullanımı

Dizi ile tanımladığımız değerleri html tablo kodları içine yerleştirerek çok daha düzenli listeleme yapabiliriz. Bu Örnekte tablomuzun satırlarının farklı renkte görünmesini sağlayarak kolay anlaşımasını sağlayabiliriz.

<?
$sebze=array("Domates"=>5,"Biber"=>12,"Patlıcan"=>15,"Marul"=>10);
$renk=array("yellow","green"); $renkindex=0;
print "<table border=1>";
foreach ($sebze as $sebzeadi => $fiyat) {
print "<tr bgcolor=".$renk[$renkindex].">";
print "<td>$sebzeadi</td><td>$fiyat</td>";
print "</tr>";
$renkindex = 1-$renkindex;
}
print "</table>";
/*
Ekran Çıktısı:
<table border=1>
<tr bgcolor=yellow>
<td>Domates</td><td>5</td></tr>
<tr bgcolor=green><td>Biber</td><td>12</td></tr>
<tr bgcolor=yellow><td>Patlıcan</td><td>15</td></tr>
<tr bgcolor=green><td>Marul</td><td>10</td></tr>
</table>
*/
?>
Not: for döngüsü indisleri sırası ile gösterir. Foreach döngüsü ise bizim manuel olarak giriliş sırasına göre görüntüler.

İç İçe Dizi Kullanılımı (Çoklu Diziler)
Çoklu dizi bir grup belirleme ve bu grup içindeki elemanları listelemek olarak anlayabiliriz. Bunu güzel bir örnek ile açıklayalım. örnekte ilkbahar, yaz, sonbahar, kış mevsimleri var içine bir dizi daha tanımlayarak bu mevsimlerin hangi ayları içerdiğini göstererek ekranda listeleyebiliriz.

<?
$mevsim=array(1=>"İlkbahar",2=>"Yaz",3=>"Sonbahar",4=>"Kış");
foreach ($mevsim as $anahtar => $mevsimadi) {
print "$anahtar.$mevsimadi<br>";
}
print "-------------------<br>";
$mevsim=array("İlkbahar"=>array("Mart","Nisan","Mayıs"),
              "Yaz"=>array("Haziran","Temmuz","Ağustos"),
              "Sonbahar"=>array("Eylül","Ekim","Kasım"),
              "Kış"=>array("Aralık","Ocak","Şubat"),
);
foreach ($mevsim as $anahtar => $aylar){
print $anahtar."<br>";
foreach ($aylar as $ayadi){
print "---$ayadi<br>";
}
}
?>
Ekran Çıktısı:
1.İlkbahar
2.Yaz
3.Sonbahar
4.Kış
——————-
İlkbahar
—Mart
—Nisan
—Mayıs
Yaz
—Haziran
—Temmuz
—Ağustos
Sonbahar
—Eylül
—Ekim
—Kasım
Kış
—Aralık
—Ocak
—Şubat

Leave a Reply