Blog

PHP ile A'dan Z'ye kadar alfabetik yazdırma?

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.

#range() #ord() #chr() #php #for #foreach