PHP, web geliştirme dünyasında en çok kullanılan dillerden biridir ve gücünün önemli bir kısmı veri yapılarını esnek bir şekilde yönetebilmesinden gelir. Bu veri yapılarının temelinde ise array (dizi) kavramı yatar. Bir dizi, tek bir değişken altında birden çok değeri depolamamızı sağlayan özel bir yapıdır. İster basit bir alışveriş listesi tutmak, ister bir kullanıcının bilgilerini saklamak, isterse de veritabanından gelen karmaşık sorgu sonuçlarını işlemek olsun, diziler PHP programlamanın vazgeçilmez bir parçasıdır. Bu yazıda, PHP’deki üç temel dizi türünü detaylıca inceleyeceğiz: indexed (sıralı), associative (ilişkisel) ve multidimensional (çok boyutlu) diziler. Ayrıca, bu diziler üzerinde işlem yapmamızı sağlayan count(), array_push() ve in_array() gibi temel fonksiyonları pratik örneklerle ele alacağız.
Indexed array’ler (Sıralı diziler)
PHP’de en temel ve en sık karşılaşılan dizi türü indexed array’lerdir. Bu dizilerde her bir değere otomatik olarak atanan sayısal bir anahtar (index) bulunur. Bu indeksleme, varsayılan olarak 0’dan başlar ve her yeni eleman için bir artarak devam eder. Bu yapı, sıralı bir liste oluşturmak için idealdir. Örneğin, haftanın günlerini veya bir sepetteki ürünleri saklamak için kullanılabilirler. Bir indexed array oluşturmak oldukça basittir ve elemanlarına erişmek için köşeli parantezler `[]` içine ilgili indeks numarasını yazmak yeterlidir.
Örnek bir indexed array tanımı ve kullanımı:
// Dizi oluşturma (kısa sözdizimi)
$mevsimler = ["İlkbahar", "Yaz", "Sonbahar", "Kış"];
// Dizi elemanlarına erişim
echo $mevsimler[0]; // Çıktı: İlkbahar
echo $mevsimler[2]; // Çıktı: Sonbahar
// Yeni bir eleman eklemenin en kolay yolu
$mevsimler[] = "Yeni Mevsim"; // Bu eleman 4. indekse eklenir
Görüldüğü gibi, indexed array’ler verileri sıralı bir şekilde tutmak ve bu sıraya göre işlem yapmak gerektiğinde son derece kullanışlıdır.
Associative array’ler (İlişkisel diziler)
Indexed array’lerin aksine, associative array’ler sayısal indeksler yerine isimlendirilmiş anahtarlar (keys) kullanır. Bu anahtarlar, string veya integer olabilir ve her bir anahtar belirli bir değerle (value) ilişkilendirilir. Bu yapı, verileri daha anlamlı ve okunabilir bir şekilde saklamamızı sağlar. Örneğin, bir kullanıcının bilgilerini (ad, soyad, yaş vb.) saklamak için sayısal indeksler kullanmak yerine “ad”, “soyad” gibi anahtarlar kullanmak çok daha mantıklıdır. Bu anahtar-değer çiftleri (key-value pairs), verinin ne anlama geldiğini açıkça belirttiği için kodun okunabilirliğini ve yönetilebilirliğini artırır.
Örnek bir associative array tanımı ve kullanımı:
// Anahtar-değer çiftleri ile dizi oluşturma
$kullanici = [
"ad" => "Ahmet",
"soyad" => "Yılmaz",
"yas" => 32,
"sehir" => "İstanbul"
];
// Değerlere anahtarları kullanarak erişim
echo $kullanici["ad"]; // Çıktı: Ahmet
echo $kullanici["yas"]; // Çıktı: 32
// Diziye yeni bir anahtar-değer çifti ekleme
$kullanici["meslek"] = "Mühendis";
Multidimensional array’ler (Çok boyutlu diziler)
Multidimensional array’ler, içinde bir veya daha fazla dizi barındıran dizilerdir. Bu yapı, verileri tablo veya matris gibi hiyerarşik bir düzende organize etmek için kullanılır. En yaygın kullanımı iki boyutlu dizilerdir; bu dizileri satır ve sütunlardan oluşan bir tablo gibi düşünebiliriz. Örneğin, bir öğrenci listesi oluşturmak istediğimizde, her bir öğrenci kendi içinde adı, soyadı ve notu gibi bilgileri içeren bir associative array olabilir. Bu öğrenci dizilerinin tamamını ise tek bir ana dizi içinde toplayabiliriz. Bu sayede karmaşık veri setlerini düzenli bir şekilde saklayabilir ve işleyebiliriz.
Örnek bir multidimensional array tanımı:
$ogrenciler = [
[ "ad" => "Ayşe", "soyad" => "Kaya", "not" => 85 ],
[ "ad" => "Mehmet", "soyad" => "Demir", "not" => 92 ],
[ "ad" => "Fatma", "soyad" => "Çelik", "not" => 78 ]
];
// İç içe geçmiş elemanlara erişim
// İkinci öğrencinin (indeks 1) adını yazdırma
echo $ogrenciler[1]["ad"]; // Çıktı: Mehmet
// Üçüncü öğrencinin (indeks 2) notunu yazdırma
echo $ogrenciler[2]["not"]; // Çıktı: 78
Temel array fonksiyonları
PHP, dizilerle çalışmayı kolaylaştıran yüzlerce yerleşik fonksiyona sahiptir. Bu fonksiyonlar sayesinde dizileri sayabilir, eleman ekleyip çıkarabilir, arama yapabilir ve çok daha fazlasını gerçekleştirebiliriz. İşte en temel ve sık kullanılan fonksiyonlardan bazıları:
- count(): Bir dizideki eleman sayısını döndürür. Bu, döngüler kurarken veya dizinin boş olup olmadığını kontrol ederken çok kullanışlıdır.
$renkler = ["Kırmızı", "Mavi", "Yeşil"];
echo count($renkler); // Çıktı: 3 - array_push(): Bir dizinin sonuna bir veya daha fazla eleman ekler. Bu fonksiyon, özellikle indexed array’lere dinamik olarak veri eklemek için kullanılır.
$sepet = ["Elma", "Portakal"];
array_push($sepet, "Muz", "Çilek");
// $sepet dizisinin yeni hali: [“Elma”, “Portakal”, “Muz”, “Çilek”] - in_array(): Bir değerin dizi içinde mevcut olup olmadığını kontrol eder. Eğer değer bulunursa true, bulunamazsa false döndürür. Bu, koşullu ifadelerde sıkça kullanılır.
$izinli_kullanicilar = ["admin", "editor", "moderator"];
if (in_array("editor", $izinli_kullanicilar)) {
echo "Kullanıcının düzenleme yetkisi var.";
}
Sonuç olarak, PHP’de diziler, verileri organize etmenin ve işlemenin temel taşıdır. Bu yazıda, verileri basit bir liste halinde tutan indexed array‘leri, anahtar-değer çiftleriyle daha anlamlı veriler saklayan associative array‘leri ve tablo benzeri karmaşık yapılar oluşturan multidimensional array‘leri ele aldık. Her bir dizi türünün kendine özgü kullanım alanları ve avantajları bulunmaktadır. Ayrıca, dizilerin gücünü tam olarak kullanabilmek için count() ile eleman sayısını öğrenme, array_push() ile dinamik olarak eleman ekleme ve in_array() ile bir değerin varlığını sorgulama gibi temel fonksiyonların ne kadar önemli olduğunu gördük. Bu temel kavramlara hakim olmak, PHP ile daha verimli, okunabilir ve güçlü uygulamalar geliştirmenin ilk ve en önemli adımıdır.
“`
Resim Sahibi: panumas nikhomkhai
https://www.pexels.com/@cookiecutter