PHP’de Diziler
PHP’de diziler, birden çok değeri tek bir değişken altında saklamak için kullanılan veri yapılarıdır. Diziler, sıralı bir şekilde organize edilmiş ve her bir elemana bir anahtar veya indisle erişilebilen veri gruplarıdır. Her bir değer, belirli bir anahtar veya indis numarasıyla ilişkilendirilir.
Dizi oluşturma kuralları:
- Dizi elemanlarına tanımlanacak anahtar adlarında, harfler, rakamlar(a-z A-Z 0-9) ve _ (alt çizgi) kullanılabilir.
- Dizi elemanlarına anahtar isimleri tanımlarken PHP tarafından rezerve edilmiş kelimeler kullanılamaz.
- Dizi elemanlarına tanımlanacak olan anahtar isimleri büyük ve küçük harf duyarlıdır.
- Bir dizi elemanına anahtar tanımlanmazsa, anahtar otomatik olarak oluşturulur.
- Dizide her anahtarla değer arasına => karakterleri konulmalıdır.
- Dizide birden çok eleman oluşturulacaksa, her elemandan sonra , (virgül) koyulmalıdır.
<?php
$dizi = array(("Kırmızı", "Mavi", "Yeşil"););
echo "Dizi Elemanları:<br>";
foreach ($dizi as $eleman) {
echo $eleman . "<br>";
}
?>
Dizileri yazdırma: PHP echo oluşumuyla dizilerin tamamını yazdıramayız. PHP’de dizilerin tamamını yazdırmak için print_r() oluşumu vardır. Ancak dizinin sadece bir elemanını yazdırmak istersek echo kullanabiliriz.
For döngüsü kullanarak dizinin elemanlarını sırayla ekrana yazdıran php kodunu yazalım.
<?php
// Bir dizi oluşturalım
$dizi = array("elma", "armut", "muz", "çilek");
// Dizinin elemanlarını ekrana yazdıralım
for ($i = 0; $i < count($dizi); $i++) {
echo $dizi[$i] . "<br>";
}
?>
Aynı kod üzerinde değişiklik yapalım. Önce dizinin eleman sayılarını ekrana yazdırsın sonra elemanlarını yazdırsın.
<?php
// Bir dizi oluşturalım
$dizi = array("elma", "armut", "muz", "çilek");
// Dizinin uzunluğunu alalım
$uzunluk = count($dizi);
// Dizideki her bir elemanı ekrana yazdıralım
for ($i = 0; $i < $uzunluk; $i++) {
echo $dizi[$i] . "<br>";
}
?>
Kullanıcıdan alınan ders sayısı ve ders notu değişkenlerine göre kişinin dönem ortalamasını hesaplayan php kodunu yazalım.
<?php
// Kullanıcıdan alınacak verileri tutacak bir dizi oluşturalım
$veriler = array();
// Kullanıcıdan kaç adet veri gireceğini alalım
$veri_sayisi = (int)readline("Kaç adet veri gireceksiniz? ");
// Belirlenen sayıda veri alalım
$i = 0;
while ($i < $veri_sayisi) {
$veri = readline("Veri " . ($i + 1) . ": ");
$veriler[] = $veri;
$i++;
}
// Alınan verileri ekrana yazdıralım
echo "Girilen veriler: ";
$i = 0;
while ($i < count($veriler)) {
echo $veriler[$i] . " ";
$i++;
}
?>