Diziler (Array)
Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır. Örneğin verilerin sıralanması, ortalamasının bulunması gibi işlemlerde dizilere ihtiyaç duyulur.
PHP içerisinde tanımlanan diziler bir veya daha çok boyutlu olabilir. Bunun daha iyi anlaşılabilmesi için aşağıdaki dizi tanımlamalarını ve örnekleri inceleyiniz.
Dizi Değişkenler
Aynı türden bilgilerin bir değişkenin içerisinde tutulmasıyla oluşturulur. Bir değişkenini dizi olup olmadığı "[]" simgelerinden anlaşılabilir.
Kullanılış biçimi :
$degisken = array(deger1, deger2,...,degerN) veya
$değişken[indis_no] = deger
şeklindedir.
Bir dizinin n. inci elemanına ulaşmak için dizinin adından sonra köşeli parantez içinde dizi elemanının indis numarası yazılır.
Örnek :
$degisken[5] = "Aylin";
Bu örnekte dizinin 5.inci elemanına "Aylin" değeri atanmıştır. Eğer indis numarası yazılmazsa ilk eleman olan sıfırıncı sıradaki elemana ulaşılır. Daha sonra indis numarası verilmeden ulaşılan eleman bir sonraki eleman olacaktır.
Örnek :
print ($değişken[]); // Dizinin sıfırıncı elemanı yazılır
print ($değişken[]); // Dizinin birinci elemanı yazılır
Diziler tanımlanırken array komutu kullanılmayabilir.
$liste = (deger1,deger2,...); veya
$liste[] = deger1;
$liste[] = deger2;
$liste[] = degerN;
Diziler tanımlanırken indis numarası yerine isim verilebilir.
$liste[isim1] = deger1;
$liste[isim2] = deger1;
İlişkili Diziler
Bu dizi tipi dizil değişkenlerden farklı olarak birden fazla değişkeni içerebilir. Örneğin bir otelin kat numaralarını tuttuğunuz bir dizi olsun. Her kat numarasında da o kattaki oda numaraları tutulsun. Ortaya şöyle bir sonuç çıkıyor. (x inci katın, y inci odası

gibi bir bilgiye ulaşabiliyoruz.
İlişkili dizileri dizi değişkenlerden ayıran en önemli özellik değişkenlerine isim verilebilmesidir.
Kat No Oda No Durum
---------- --------- ---------
1 101 Dolu
1 102 Dolu
2 205 Boş
3 307 Boş
4 402 Dolu
Burada görüldüğü gibi katların numarası tek ve odaların numarası tek olacak şekilde bir ayarlama yaptığımızda karşımıza (katlar,odalar) şeklinde bir dizi çıkıyor. Herhangi bir kat numarası belirlendikten sonra o kattaki odalardan, herhangi birinin dolu veya boş olduğunu kontrol edebiliyoruz.
İlişkili dizi tanımlama :
$degisken = array (array ("isim1"=>deger1, "isim2"=>deger2,..,isimN"=>degerN), array...)
Örnek :
$otel = array (array("katno"=>1, "odano" => 101, "durum" => "dolu"

);
İlişkili bir dizinin elamanına ulaşmak gerektiğinde indis numarası veya adı belirtilir.
Örnek :
print ($otel [0] [katno]); // Otel dizisinin sıfırıncı elemanındaki
// katno alanına ulaşılmıştır.
İlişkili dizi tanımlamanın diğer bir yöntemi aşağıdaki gibidir.
$degisken [indis] [indis] = deger;
Buradaki indisleri artırarak daha fazla boyut elde edebilirsiniz. Bir çok boyutlu dizi içerisindeki öğe sayısı dizinin her bir indis sayısının çarpımı kadardır örneğin (2,

boyutlu bir dizideki öğe sayısı 16 adettir.
Dizilerde Kullanılan Fonksiyonlar
count(): Bir dizideki eleman sayısını döndürür.
Kullanılış biçimi :
count($dizi_adi);
Örnek :
count($liste);
is_array(): Dizinin elemanına ilk ulaştığımızda değer olup olmadığını araştırır.
Kullanılış biçimi :
is_array( $dizi_adi );
Örnek :
is_array($liste);
array_merge(): İki dizinin elamanlarını birleştirerek yeni bir dizi oluşturur.
Kullanılış biçimi:
$yeni_dizi = array_merge ( $ilk_dizi, $ikinci_dizi );
Örnek :
$yeni_dizi = array_merge ( $liste, $sinif );
array_shift(): Dizinin ilk elemanını siler.
$yeni_dizi = array_shift ( $liste );
sort() : Bir dizinin elemanlarını küçükten büyüğe veya A' dan Z' ye sıralamak için kullanılır.
Kullanılış biçimi :
sort ($dizi_adi);
Örnek :
sort ($isimler);
rsort(): Bir dizinin elemanlarını büyükten küçüğe veya Z' den A' ya sıralamak için kullanılır.
Kullanılış biçimi :
rsort ($dizi_adi);
Örnek :
rsort ($isimler);
explode : Bir string değişkeni belirtilen karakterden ayırarak diziye dönüştürür.
Kullanılış biçimi:
degisken1 = explode(“ayirac”,degisken2);
Örnek :
$xadres = “Ankara;Üniversitesi”;
$xadr = explode(";",$xadres);
echo $xadr[0]; //Ankara
echo $xadr[1]; //Üniversitesi
PHP’ de Kontrol Yapıları
PHP’ de Progress ve diğer programlama dillerinde olduğu gibi döngüler içermektedir.(Progress’ teki If-EndIf , Case-EndCase gibi). Daha önceki programlama bilgilerinizden dolayı bu döngüler hakkında çok fazla açıklama yapılmayacaktır. Eğer daha fazla bilgiye ihtiyaç duyarsanız Progress Programlama kısmındaki ilgili konuları inceleyebilirsiniz.
if Kontrol Yapısı
Bir koşulun olması veya olmaması durumunda yapılacak işlemleri ayırmak için kullanılır.
Kullanılış biçimi 1:
if ( koşullar ) {
Komutlar
}
elseif (diğer koşullar) {
Komutlar
}
else {
Komutlar
}
Kullanılış biçimi 2:
if ( koşullar ) {
Komutlar
}
elseif (koşullar) {
Komutlar
}
Kullanılış biçimi 3:
if ( koşullar ) {
Komutlar
}
else {
Komutlar
}
Kullanılış biçimi 4:
if ( koşullar ) {
Komutlar
}
Örnek : İki sayıdan büyük olanı bulan program.
switch Kontrol Yapısı
Progress’ deki Case - EndCase bloğuna karşılık gelir ve değişkenin değerinin uygun olduğu duruma göre yapılacak işlerin belirlenmesini sağlar.
Kullanılış biçimi:
switch ( değişken ) {
case KOŞUL-1 ;
Komutlar
break;
case KOŞUL-2 ;
Komutlar
break;
case KOŞUL-3 ;
Komutlar
break;
......................
......................
default:
Komutlar
}
Görüldüğü gibi bir koşul sonunda yapılacak işler bitirildikten sonra break komutu kullanılmaktadır. Break komutu kullanılmayabilir fakat program akışı sırasında uygun koşuldaki işlemler bittikten sonra diğer koşullarında uygun olup olmadığı sınanır. Mevcut koşullardan hiçbirinin sağlanmaması durumunda yapılacak işlemler default bloğunda belirlenmektedir.
Uyarı : Eğer koşullardan sonra break komutunu kullanmazsanız default bloğundaki komutlarda çalıştırılacaktır.
Örnek : Verilen sayıya göre gün adını bulan program.
while Döngüsü
Bir şart sağlandığı sürece bir yordamın icra edilmesidir. Programın icrası sırasında while bloğuna gelindiğinde koşul kontrol edilir ve koşul sağlanıyorsa while döngüsü içerisine girilir.
Kullanılış biçimi:
while (koşul) {
Şart sağlanıyorsa yapılacaklar
}
Örnek : 1'den 10'a kadar olan sayıların toplamını bulan program.
do – while Döngüsü
While döngüsünden farklı olarak programın icrası sırasında do - while bloğuna gelindiğinde şart kontrol edilmez. do - while bloğuna direkt girilir ve koşul ikinci döngünün başlayacağı sırada kontrol edilir.
Kullanılış biçimi:
do {
Şart sağlanıyorsa yapılacaklar
}
while (koşul);
Örnek : 1'den başlayarak, sonuç 100 den büyük oluncaya kadar toplanması gereken rakamların sayısını bulan program.
for Döngüsü
Bir yordamın istenilen sayı kadar çalıştırılmasını sağlar.
Kullanılış biçimi:
for ( $degisken = ilk_deger ; kosul ; adim ) {
Koşul doğru ise yapılacak işlere ilişkin komutlar
}
Örnek : 1'den 100'e kadar çift sayıların toplamını bulan program.
for bloğunun herhangi bir yerinde çıkmak için break komutu kullanılır.
for bloğunun herhangi bir yerinde bir sonraki tekrara geçmek için continue komutu kullanılır.