Bu işlemler için PHP'nin bize sağlamış olduğu range(), ord() ve chr() fonksiyonları mevcut olup bu fonksiyonları kullanacağız.
range() Fonksiyonu
range(start, end, step) fonksiyonu ile de bu işlemi yapabilirsiniz. range() fonksiyonu 3 adet parametre almakta olup, step parametresini göndermek zorunda değiliz.
Alfabetik listelemeye geçmeden önce 3 adet parametreye örnek vermek gerekirse sonuç aşağıdaki gibi çıkar.
range(0,50,10); // Çıktı: 0, 10, 20, 30, 40, 50
range() fonksiyonunun alfabetik listelemesine bakacak olursak ise de sonuç aşağıdaki gibi çıkar.
$alphabet = range('A', 'Z');
foreach ($alphabet as $value) {
echo $value . " ";
}
// Çıktı: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ord() Fonksiyonu
ord('a') girdiğimizde karakterin ASCII değerini döndürür ve sonuç aşağıdaki gibi çıkar.
echo ord('a'); // Çıktı: 97
chr() Fonksiyonu
chr(97) yazdığımızda tam tersine ASCII değerini karaktere dönüştürür ve sonuç aşağıdaki gibi çıkar.
echo chr(97); // Çıktı: a
İngilizce alfabesine göre çıktı alabildiğimizden dolayı İngilizce de 26 harf olduğundan dolayı for döngüsünüde bu şekilde yazmamız gerekmektedir.
$alphabetValue = ord('a');
for($i = $alphabetValue; $i < $alphabetValue + 26; $i++) {
echo chr($i) . ' ';
}
// Çıktı: a b c d e f g h i j k l m n o p q r s t u v w x y z
ord('a') yazarak 97‘den başlamasını sağlayarak $i değerini 97‘ye eşitlemiş olduk koşul olarak $i değeri (97 + 26 = 123) değerine gelene kadar $i‘yi 1 arttıracak. Böylelikle for içinde de ASCII değerlerine göre karakterleri döndürerek bize İngilizce alfabesini yazdıracaktır.