PHP Dersleri 9: Dizi Değişkenleri

Değişkenlerden bahsederken sinemadaki koltuklara benzetmiştik. Peki ya bütün sinema salonunu tanımlamak istersek ne yapacağız? Bu noktada dizi değişkenlerini kullanabiliyoruz. Excel’deki gibi satır ve sütunlar şeklinde tanımlanabilen, her bir hücresinde bir nesne ya da bir değişken taşıyabilen değişken türlerine dizi değişkeni denir.

Dizi değişkenleri bir boyutlu olabilecekleri gibi sonsuz boyuta sahip olabilirler.

Bir satranç tahtası hayal edin. Ama sadece bir satırını düşünün. Satırın üzerinde 8 tane kare var. İlk kareyi saymaya kural olarak 1 yerine 0 ile başlıyoruz. Yani ilk karenin indisi 0 oluyor, böylece son karenin indisi 7 oluyor.

Peki tek bir satır yerine bütün tahtayı düşünürsek dizimiz nasıl olacaktı?

[0][0] indisinden başlayıp [7][7] indisine kadar devam edecekti. Bu sayede 8*8 = 64 elemanlı bir dizimiz oluşacaktı.

Peki PHP’de bir dizi nasıl tanımlanır?

PHP’de dizileri kendimiz elle tanımlayabileceğimiz gibi array() fonksiyonundan da faydalanabiliriz. Array fonsiyonunu iki farklı biçimde kullanabiliyoruz. Bunlardan ilk $dizi = array(eleman1, eleman2, eleman3) bu şekilde tanımlanmış dizilerdeki elemanlara $dizi[0], $dizi[1] şeklinde erişebiliyoruz.

Bir diğer kullanım yöntemi de, indisleri isimlendirmektir.

$dizi = array(“marka” => “Volvo”, “satis” => 11, “stok” => 12);

Buradaki elemanlara hem indis numarası ile erişilebilri hem de $dizi[“marka”]; komutu ile erişilebilir. Şimdi dizilerle ilgili ufak bir örnek yapalım. 9 klasörü içerisine bir index.php dosyası açıp kodlamaya başlayalım.

 

Bu şekilde dizideki üç elemanı da ekrana yazdırabiliyoruz. Gördüğünüz gibi dizilerde indisler 0’dan başlıyor. Şimdi bir de iki boyutlu dizilere bir örnek yapalım, iki boyutlu dizi mantığı ile çok boyutlu dizilerin mantığı aynıdır. Şimdi index2.php dosyamızı açalım ve içine şu scripti yazalım:

Bu kodumuzun çıktısı ise

Şeklinde oluyor.

Dizi değişkenleri konumuzun bu şekilde sonuna geldik.

Yorum ve önerilerinizi bekliyorum, bir daha ki derste görüşene kadar hoşçakalın.

Leave a Reply

Your email address will not be published. Required fields are marked *