Daha önceki yazılarda PHP ile temel işlemleri ve PHP operatörler ile ilgili kavramları öğrenmiştik. Bu yazıda PHP ile dizi oluşturma ve diziler üzerinde temel bazı işlemlerin nasıl yapılacağını öğreneceğiz. Dizi öğlerini liste halinde yazdırma veya dizi öğleri üzerinde hareket etmeyi döngüler( for, foreach) kavramlarında inceleyeceğiz.
Dizi Yazımı
PHP ile iki şekilde dizi oluşturabiliriz. PHP ile dizi oluşturmak için array()
fonksiyonu kullanılır. PHP 5.4 ve sonrasında ayrıca, array()
yerine []
kullanan kısa dizi sözdizimini de kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 | <?php $dizi1=array(); $dizi2=[]; ?> |
PHP İlişkisel Diziler
PHP’de diziler anahtar => değer
çifti ile tanımlanmaktadır. Anahtar’ı belirtilmeyen dizi elemanları için sıradaki index numarası verilmektedir. Bu yöntemle dizi elemanlarına isim indexleri vermek ve bu isim indexleri üzerinden erişmek hedeflenmiştir. Bu şekilde tanımlanan dizilere ilişkisel diziler denilmektedir. HTML Form elemanlarından gelen (ileride değineceğiz) anahtar-değer çitlerine bu şekilde erişir.
NOT: POST ve GET yöntemlerinde ilişkisel diziler kullanılmaktadır.
1 2 3 4 5 6 7 8 | array( anahtar => değer, anahtar2 => değer2, anahtar3 => değer3, ... ) |
yada
1 2 3 4 5 6 7 8 | [ anahtar => değer, anahtar2 => değer2, anahtar3 => değer3, ... ] |
PHP Dizi Oluşturma
Yukarıdaki tanımlardan yola çıkarak haftanın günlerinden oluşan bir dizi oluşturalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $gunler =[ "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar" ]; //Test için diziyi ekrana dökecektir. echo "<pre>"; var_dump($gunler); ?> |
var_dump() ve <pre> ile diziyi ekrana dökecek olursak aşağıdaki gibi anahtarlar 0. indexten başlar ve son gün olan PAZAR günü için 6. index numarasını alır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | array(7) { [0]=> string(9) "Pazartesi" [1]=> string(5) "Salı" [2]=> string(10) "Çarşamba" [3]=> string(9) "Perşembe" [4]=> string(4) "Cuma" [5]=> string(9) "Cumartesi" [6]=> string(5) "Pazar" } |
Ayrıca anahtar-değer çifti ile de dizi oluşturabiliriz. Bir öğrencinin temel bilgilerini içeren anahtar değer çiftine sahip bir dizi oluşturalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $ogrenci=[ "ad"=>"Hayri", "yas"=>16, "okul_no"=>113, "sinif"=>"12D", "HNK", "BİLİŞİM" ]; //Test için diziyi ekrana dökecektir. echo "<pre>"; var_dump($ogrenci); ?> |
Yukarıdaki örnekte anahtalar => değer olarak tanımlama yapılmıştır. Ayrıca son iki değer anahtar belirtilmeden yazıldığı için sıradaki index (0.) anahtarını alacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | array(6) { ["ad"]=> string(5) "Hayri" ["yas"]=> int(16) ["okul_no"]=> int(113) ["sinif"]=> string(3) "12D" [0]=> string(3) "HNK" [1]=> string(11) "BİLİŞİM" } |
PHP Dizi Öğelerine Erişim
Dizi adı ile [anahtar] kullanarak dizi öğelerine erişim sağlayabilirsiniz. Tüm dizi öğelerini ekrana dökmek için foreach döngüsü kullanabilirsiniz.
Örnek: Yukarıdaki öğrenci dizisini kullanarak bir kaç tane örnek yapalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $ogrenci=[ "ad"=>"Hayri", "yas"=>16, "okul_no"=>113, "sinif"=>"12D", "HNK", "BİLİŞİM" ]; echo $ogrenci["ad"];//ekrana ad anahtarını yazar ?> |
Çıktı:
1 2 3 | Hayri |
Örnek: Yine aynı örnekte HNK ve BİLİŞİM öğeleri için her hangi bir anahtar belirtilmemiştir. Sıradaki anahtarı alarak devam eder(0,1,2,…. şeklinde). Index numarası 0 olan anahtarı yazdıralım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $ogrenci=[ "ad"=>"Hayri", "yas"=>16, "okul_no"=>113, "sinif"=>"12D", "HNK", "BİLİŞİM" ]; echo $ogrenci[0];//ekrana HNK ?> |
Çıktı:
1 2 3 | HNK |
PHP Dizi Öğelerini Değiştirme
Dizi öğelerine erişmek için kullandığımız diziadı[anahtar] kullanımı ile Atama operatörünü kullanarak ilgili anahtardaki değerin değiştirilmesini sağlayabiliriz.
$dizi[anahtar]=”YENİ DEĞER”;
Örnek: yukarıdaki dizide bulunan yaş değerini 18 olarak güncellemek için $ogrenci[“yas”]=18 yaparız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $ogrenci=[ "ad"=>"Hayri", "yas"=>16, "okul_no"=>113, "sinif"=>"12D", "HNK", "BİLİŞİM" ]; $ogrenci["yas"]=18; //Dizi öğlerini değiştirme echo $ogrenci["yas"];//Ekrana yazdırma ?> |
Çıktı:
1 2 3 | 18 |
PHP Dizi Operatörleri
PHP Dizileri Birleştirme: İki diziyi birleştirmek için + operatörü kullanılır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php $dizi1=[ "ad"=>"Hayri", "soyad"=>"KOÇ" ]; $dizi2=[ "sinif"=>"12D", "okul_no"=>113 ]; $dizi3=$dizi1+$dizi2; echo "<pre>"; var_dump($dizi3); ?> |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 12 | array(4) { ["ad"]=> string(5) "Hayri" ["soyad"]=> string(4) "KOÇ" ["sinif"]=> string(3) "12D" ["okul_no"]=> int(113) } |
NOT: iki diziyi birleştirmek için anahtarların(index numaraları dahil) farklı olması gerekmektedir.
PHP Diziyi Karşılaştırma: Eşitlik Kontrolü
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $dizi1=[ "id"=>1 ]; $dizi2=[ "id"=>"1", ]; $durum = $dizi1 == $dizi2; echo "<pre>"; var_dump($durum); ?> |
Çıktı:
1 2 3 | bool(true) |
PHP Dizi Karşılaştırma: Mutlak Eşitlik
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $dizi1=[ "id"=>1 ]; $dizi2=[ "id"=>"1", ]; $durum = $dizi1 === $dizi2; echo "<pre>"; var_dump($durum); ?> |
Çıktı: Burada anahtar, değer ve değerin türleri dahil herşeyin eşitliği kontrol edilir.
1 2 3 | bool(false) |
Dizilerde kullanılan diğer operatörler için PHP operatörler yazısını okuyabilirsiniz. Ayrıca diziler ile kullanılan fonksiyonları daha sonraki yazılarda ele alacağız.
Diğer yazılar
4 Yorum