PHP, web geliştirme için kullanılan en popüler programlama dillerinden biridir. PHP’nin en önemli özelliklerinden biri, değişkenleri tutmak için dizileri kullanabilmesidir. Diziler, bir veya daha fazla değeri depolamanıza ve bunları tek bir değişken adı altında kullanmanıza olanak tanır. Bu makalede, PHP dizileri hakkında detaylı bir inceleme yapacağız.
Dizi Tanımlama ve Kullanımı
PHP’de bir dizi tanımlamak için array()
işlevini kullanabilirsiniz. Aşağıdaki örnekte, array()
işlevi ile 3 elemanlı bir dizi tanımlıyoruz:
php
$sehirler = array("İstanbul", "Ankara", "İzmir");
Dizi elemanları, virgülle ayrılmış bir şekilde array()
işlevi içinde yer alır. Diziler, sayısal veya metinsel değerler gibi herhangi bir türde değerleri depolayabilirler.
Dizilerde elemanlara erişmek için, elemanın anahtarını kullanabilirsiniz. Anahtar, bir sayı veya bir metin olabilir. Aşağıdaki örnekte, 2. elemana erişmek için anahtar olarak 1
kullanıyoruz (dizi indeksi 0’dan başlar):
php
echo $sehirler[1]; // Çıktı: Ankara
Dizinin tüm elemanlarını yazdırmak için, print_r()
işlevini kullanabilirsiniz:
php
print_r($sehirler); // Çıktı: Array ( [0] => İstanbul [1] => Ankara [2] => İzmir )
Dizilerde eleman eklemek için, yeni bir anahtar belirterek elemanı atanabilirsiniz:
php
$sehirler[3] = "Bursa";
Bu kod, $sehirler
dizisine “Bursa” elemanını ekler. Ayrıca, bir anahtar belirtmeden de yeni bir eleman ekleyebilirsiniz:
php
$sehirler[] = "Antalya";
Bu kod, $sehirler
dizisine son eleman olarak “Antalya” ekler.
Dizi Fonksiyonları
PHP, dizileri işlemek için birçok hazır işlev sağlar. Bunlar, dizileri sıralamak, bir dizideki tüm elemanları döngü kullanarak işlemek, dizi boyutunu ve eleman sayısını hesaplamak gibi işlemleri gerçekleştirmenize olanak tanır. Aşağıda, bazı yaygın kullanılan dizi işlevleri verilmiştir:
count()
: Bir dizinin eleman sayısını döndürür.sort()
: Bir diziyi sıralar.rsort()
: Bir diziyi ters sıralar.array_search()
: Belirtilen bir değerin, bir dizinin anahtarları arasında arar ve ilgili anahtarın indeksini döndürür.array_keys()
: Bir dizinin anahtarlarını bir dizi olarak döndürür.array_values()
: Bir dizinin değerlerini bir dizi olarak döndürür.
Aşağıdaki örnek, count()
ve sort()
işlevlerini kullanarak bir dizi sıralamanın ve eleman sayısını hesaplamanın nasıl yapılabileceğini gösterir:
php
$numbers = array(3, 1, 4, 1, 5, 9, 2, 6, 5, 3);
// Dizi elemanlarını sırala
sort($numbers);
// Eleman sayısını hesapla ve yazdır
echo "Dizi eleman sayısı: " . count($numbers) . "<br>";
// Diziyi yazdır
print_r($numbers);
Bu örnek, $numbers
dizisini sıralar, eleman sayısını hesaplar ve sonuçları ekrana yazdırır.
Dizi İşlemleri
Diziler, programlamada çok sık kullanılan bir veri yapısıdır. Diziler, bir veya daha fazla veriyi tutmak ve işlemek için kullanılabilir. Diziler, programlama dillerinin hemen hemen tümünde mevcuttur ve birçok işlevi desteklerler. PHP, diziler için özel işlevler sunar ve dizileri işlemek için birçok yöntem sağlar.
Dizilerin kullanımı oldukça kolaydır ve birçok farklı amaç için kullanılabilirler. PHP dizileri, verileri gruplamak, saklamak ve işlemek için harika bir seçenektir. Bu makalede, PHP dizilerinin temelleri hakkında bilgi edindiniz ve dizileri nasıl kullanacağınızı öğrendiniz. Diziler hakkında daha fazla bilgi edinmek için PHP belgelerine başvurabilirsiniz.
Dizilerin tanımı değişkene birden fazla değer atamak ve atadığın değerleri sıralayıp, çoklu verilerde rahat işlem yapmamızı sağlayan veri tipleri. Değerleri bir kategori altında toplamak için diziler idealdir. Örnek verecek olursak sadece bir $uyeler değişkeninde yüzlerce kullanıcının verilere ulaşıp değişiklikler yapabiliriz.
Dizelerin kullanımı çok basittir. Ve birçok yolu vardır.
İstersek Array() fonksiyonunu kullanarak istemezsek de fonksiyon kullanmadan dizi oluşturabiliriz.
Öncelikle Array() fonksiyon ile oluşturalım:
$sebze = array("domates", "biber", "salatalık", );
//sebze dizisine array fonksiyonu ile 3 tane değer atadık.
Aynı işlemi array fonksiyonunu kullanmadan yapalım.
$sebze[0] = "domates";
$sebze[1] = "biber";
$sebze[2] = "salatalık";
Aslında bu yöntermde dizinin nasıl sonuç verdiği ortaya çıkmış oluyor.
Array fonksiyonu ve arraysız fonksiyonsuz oluşturduğumuz dizelerde aynı işlemi yaptık.
Array() fonksiyonu ile oluşturduğumuz bu dizide her bir değerin anahtarı sayısal olur, yani anahtarlar 0, 1, 2, 3, … şeklinde gider. Yukarıdaki $meyveler dizisinin 0. anahtarının değeri domates 1.anahtarın değeri ise biber olur.
Array() fonksiyonu ile kendi istediğimiz gibi olacak olan diziler oluşturmak için şu yöntemi kullanırız;
$sebze = array(“bir=>domates”, “iki=>biber”, “üç=>salatalık”);
//burada anahtarı kendimiz belirtmiş olduk.
Bir de Array fonksiyonu olmadan yapalım;
$sebze['bir'] = "domates";
$sebze['iki'] ="biber";
$sebze['üç']="salatalık";
//array fonksiyonu olmadan da tanımladık.

Dizilerde bir adet anahtara ve her anahtar için bir değere ihtiyacımız var burada anahtar olan kısım ve değer alan kısmı şu şekilde gösteririz;
$dizi['anahtar'] = 'değer';
Anahtar olan kısıma ister sayı istersek de yazı girebiliriz. Sırlama için mantıklı olan sayılardır. sayı anahtarlarda daha rahat çalışabiliriz.
DİZİLERİ KULLANMA
Bir dizeyi oluşturduktan sonra onu kullanıp değiştirebiliriz örnek verecek olursak;
$sebze[0] = "domates";
$sebze[1] = "biber";
echo $sebze[1];
Ekrana biber yazacaktır.
Dizileri değiştirme
Dizi değiştirmeye örnek verecek olursak;
$sebze[0] ="domates";
$sebze[0] ="kabak";
echo $sebze[0];
Ekranda kabak yazacaktır. Çünkü $sebze dizisinin 0. anahtarının değeri domates iken sonraki satırda kabak olarak değiştirdi.
Şimdi de yazılı anahtarlar ile gösterelim;
$misafir["isim"]= "özge";
$misafir["yaş"] = 21;
$misafir["il"] ="kayseri";
echo 'misafirin ismi'. $misafir["isim"].',yaşı'. $misafir["yaş"] .'
Ekrana Misafirin ismi Özge, yaşı 20, ili ise kayseri. yazar.
İç içe dizi kullanmak
Bir dizi oluşturduktan sonra sonsuza kadar daha dizi oluşturabiliriz. Yine bunu ister fonksiyon ile istersen de fonksiyon olmadan da yapabiliriz;
$yemek["meyve"] = array("elma", "armut", "portakal");
$yemek["sebze"] = array("biber", "domates", "salatalık");
echo 'Ben ' . $yemek["meyve"][0] . ' yedim';
Ekranda Ben meyve yedim yazar. İstediğin kadar içe içe dizi oluşturabilirsin. Bir de fonksiyon kullanmadan yapalım;
$yemek["meyve"][0] = "elma";
$yemek["meyve"][1] = "armut";
$yemek["meyve"][2] = "portakal";
$yemek["sebze"][0] = "biber";
$yemek["sebze"][1] = "domates";
$yemek["sebze"][2] = "salatalık";
echo 'Ben ' . $yemek["meyve"][0] . ' yedim';
Dizi silme
Oluşturduğumuz dizilerden birini silmek ya da tamamını yok etmek için kullandığımız unset() fonksiyonunu kullanıyoruz. Bu fonksiyonu tüm değişken tiplerini yok etmekte kullanabiliriz.
$meyveler[0] = "Elma";
$meyveler[1] = "Armut";
// sadece bir diziyi silmek için:
unset($meyveler[0]);
// tamamını silmek için:
unset($meyveler);
Dizinin tümünü yazdırmak
Diziyi olduğu gibi tüm içindekilerle ekrana yazdırmak istiyorsak print_r() fonksiyonunu kullanırız. Bu dizinin sahip olduğu tüm anahtarları ve değerlerini gösterir:
$renkler = array("mavi", "kırmızı", "siyah");
print_r($renkler);
Ekran çıktısı
Array
(
[0] => mavi
[1] => kırmızı
[2] => siyah
)
Dizi yaptığınız bir değişkeni herhangi bir anahtar kullanmadan ekrana yansıtma fonksiyonu olan echo ile ekrana yazamıyoruz.
Çünkü dizi birden fazla değere sahip olduğu için tek başına yazdırmaya kalktığımızda “Array” şeklinde sonuç alırsın. nasıl olacağını da gösterelim;
$renkler = array("mavi", "kırmızı", "siyah");
echo $renkler;
Bir diziyi herhangi bir anahtarını belirtmeden yazdırmaya çalıştığımız için ekranda uyarı olarak yalnızca Array yazar.
Dizilerin eleman sayısını bulmak
Bir dizide kaç eleman olduğunu saymak için count() fonksiyonunu kullanıyoruz. Bir örnekleaçıklayalım;
$renkler = array("mavi", "kırmızı", "siyah");
echo count($renkler);
Ekranda 3 yazar. Çünkü $renkler dizisinin 3 elemanı var.
Dizileri sıralama
Dizileri 2 alanda sıralayabiliyoruz. Birincisi anahtara göre sıralama, diğeri ise değerlere göre sıralama.
Tüm sıralama fonksiyonlarını bir liste halinde yazalım
Fonksiyon | Açıklaması |
sort() | Değere göre küçükten büyüğe sıralar. Anahtarıyla olan ilişkisini bozar. |
rsort() | Değere göre büyükten küçüğe sıralar. Anahtarıyla olan ilişkisini bozar. |
asort() | Değere göre küçükten büyüğe sıralar. Anahtarıyla olan ilişkisini bozmaz. |
arsort() | Değere göre büyükten küçüğe sıralar. Anahtarıyla olan ilişkisini bozmaz. |
ksort() | Anahtara göre küçükten büyüğe sıralar. |
krsort() | Anahtara göre büyükten küçüğe sıralar. |
örnek verecek olursak;
$kelimeler = array("cam", "bardak", "çanta");
sort($kelimeler);
print_r($kelimeler);
Ekran çıktısı;
Array
(
[0] => çanta
[1] => bardak
[2] => cam
)

Otomatik tanımlanmış diziler
PHP kodları çalıştırıldığında değişkenlerde tanımlanır. İçinde kodun çalıştığı sayfanın konumunu, tarihi, sunucunun IP adresini, giren kişinin IP adresini ve bunun gibi daha bir çok veriyi bize ileten bazı değişkenler oluşturur. Bunlara genel olarak “Global değişkenler” denir. Tanımlanan global değişkenler dizi olarak tanımlanır ve bir değişken ile bir çok değeri bize gönderir.
$_SERVER global dizisi
Global değişkenlerin en başında $_SERVER geliyor. İçinde server verilerine ve sayfaya giren ziyaretçilerin IP adresi, browser verileri gibi değerlerine ulaşabiliyoruz. $_SERVER dizinin tüm değerlerini ele almak için print_r() ile ekrana yazdırarak ne olduğunu gösterelim:
Array
(
[HTTP_USER_AGENT] => Ziyaretçinin browser bilgileri
[SERVER_NAME] => Serverin adı
[SERVER_ADDR] => Server IP adresi
[SERVER_PORT] => Server portu
[REMOTE_ADDR] => Ziyaretçinin IP adresi
[DOCUMENT_ROOT] => Dosyanın ana dizini
[SCRIPT_FILENAME] => Çalışan scriptin dizi adresi
[REQUEST_URI] => Şu an hangi adreste olduğu
[SCRIPT_NAME] => Çalışan dosyanın adı
[PHP_SELF] => Burası da çalışan dosyanın adı
[REQUEST_TIME] => Şu anki zaman
)
Dizileri nerede kullanabilirim?
Mesela örnek verecek olursak benzer türde verileri tek bir değişkene koyarak tek bir değişken ile tüm ihtiyaç duyduğun verilere ulaşabiliriz;
$mesaj["baslik"] = "Nasılsın Dünya";
$mesaj["icerik"] = "Merhaba bu örnek php de dizileri daha iyi anlamamız için ";
$mesaj["yazar"] = "Naz";
$mesaj["tarih"] = "14 Aralık 2020 Pazartesi";
$mesaj değişkeni ile bir mesajın tüm verilerini ayrı ayrı ve düzenli bir şekilde tutmuş olduk.
Bu makalede, PHP’de dizilerin ne olduğunu, nasıl tanımlandığını, elemanlarına nasıl erişileceğini ve çeşitli dizi işlemlerinin nasıl yapılacağını öğrendiniz. PHP dizileri, programlamada sıkça kullanılan veri yapılarından biridir ve verileri saklamak ve işlemek için oldukça kullanışlıdır.
Dizilerin avantajlarından biri, birçok veriyi tek bir değişkende saklayabilme yeteneğidir. Bu, veri gruplarının kolayca yönetilebilmesini sağlar ve işlem yapmayı daha hızlı ve kolay hale getirir.
Diziler, PHP’de birçok işlevi destekler ve dizilerle çalışmak için birçok yöntem sağlar. Bu özellikleri sayesinde, PHP dizileri, verileri işlemek için ideal bir seçenek haline gelir.
Umarız bu makale, PHP dizileri hakkında bilgi edinmenize yardımcı olmuştur ve bu bilgileri pratik uygulamalarınızda kullanabilirsiniz.