PHP'de dizi kullanımı konusunda temel uygulamaların sonuna geldik, ilerleyen zamanlarda spesifik örnekler ya da daha detaylı ihtiyaçlar olduğunda yine PHP içinde dizilerin kullanımına ilişkin yazılar ekleyebilirim. PHP'de dizi kullanımına dair son soruyu basit bir uygulama ile yapalım. Bir dizi tanımlayarak bu dizinin ilk ve son elemanlarını bulalım ve değerlerini yazdıralım.
Not: Benzer uygulamayı aslında kısmen aşağıdaki uygulamalarda yapmıştık:
bkz: PHP'de Dizinin Eleman Sayısını Bulmak
bkz: PHP'de yazının son karakterini bulmak
bkz: PHP'de yazının ilk karakterini bulmak
bkz: PHP'de yazının karakterlerini değiştirmek (replace etmek)
bkz: PHP'de bir yazının kaçıncı karakterde başladığını bulmak
bkz: PHP'de string'in uzunluğu (karakter sayısı) nasıl bulunur?
bkz: PHP'de baştaki ve sondaki boşlukları silmek (trim)
Örnek: Alfabenin ilk 5 harfinden oluşan bir dizi tanımlayarak bu dizinin ilk ve son elemanlarını bulun ve değerlerini yazdırın.
Çözüm:
<?php
$dizi = ["a","b","c","ç","d"];
echo $dizi[0]; //a
echo "<br>";
echo $dizi[count($dizi)-1]; //d
?>
Açıklama:
Bir dizinin ilk elemanı her zaman sıfır indisli elemanıdır. Ancak bu durum, index bazlı diziler için geçerlidir tüm index'leri dolu ise çalışır. Bir dizinin son elemanı da yine index bazlı diziler için (eleman sayısı -1). elemandır, çünkü index bazlı diziler sıfırdan başlarlar.
Örnek 2: Aşağıdaki gibi düzensiz index'ler (key) ile eklenmiş olan dizi elemanlarından ilkini ve sonuncusunu yazdırın.
<?php
$dizi[1] = "b";
$dizi[4] = "ç";
$dizi[7] = "f";
$dizi[9] = "h";
$dizi[15] = "k";
?>
Çözüm:
Bu sefer 0. ve (eleman sayısı -1). index'li elemanları yazdırmak işe yaramayacaktır. Bunun yerine dizi yeniden sıralanabilir ya da aşağıdaki gibi dolaylı işlemler yapılarak dizinin ilk ve son elemanı bulunabilir
<?php
$dizi[1] = "b";
$dizi[4] = "ç";
$dizi[7] = "f";
$dizi[9] = "h";
$dizi[15] = "k";
echo array_shift(array_values($dizi)); // ilk eleman=b
echo array_values($dizi)[0]; // ilk eleman=b (alterntif çözüm)
echo array_shift(array_reverse($dizi)); // son eleman=k
echo array_values($dizi)[count($dizi)-1]; // son eleman=k (alterntif çözüm)
?>