Ders – 5 PHP’de Kontrol Yapıları – 1
Temel olarak bir çok programlama dilinde bulunduğu gibi PHP’de de if, else, else if ve switch yapıları bulunur.
İf yapısı örneği :
1 2 3 4 5 6 7 |
<?php $deger = 12; if($deger%3 == 0)#$deger'in 3 bölümünden kalan sıfırsa. { echo "sayı 3'e tam bölünür."; } ?> |
Else yapısı örneği :
1 2 3 4 5 6 7 8 9 10 11 |
<?php $deger = 13; if($deger%3 == 0)#$deger'in 3 bölümünden kalan sıfırsa. { echo "sayı 3'e tam bölünür."; } else { echo "sayı 3'e tam bölünmez."; } ?> |
Else if yapısı örneği :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $deger = 13; if($deger%3 == 0)#$deger'in 3 bölümünden kalan sıfırsa. { echo "sayı 3'e tam bölünür."; } else if($deger%3 == 1) { echo "sayı 3' bölündüğünde 1 kalanını verir."; } else { echo "sayı 3' bölündüğünde 2 kalanını verir."; } ?> |
İf ve else yapısının oldukça kolay anlaşıldığı aşikar. Ancak else if yapısının birazcık kafa karıştıran noktaları var. Örneğin bu script için “else if değilde sadece if kullanılamaz mıydı?” sorusunu sorabilirsiniz. Ve evet bu 3 bölünebilme durumu için çıktı if kullansanız dahi değişmeyecektir. O zaman daha açık bir örnekle açıklayalım.
Örneğin, Bir sayının 1-5 arasında böleni var mıdır? Varsa bunlardan en ufağı hangisidir? Bu soruya algoritmik bir çözüm bulalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $deger = 15; if($deger%2 == 0) echo "En küçük bölen 2'dir.<br>"; if($deger%3 == 0) echo "En küçük bölen 3'tür.<br>"; if($deger%4 == 0) echo "En küçük bölen 4'tür.<br>"; if($deger%5 == 0) echo "En küçük bölen 5'tir.<br>"; else echo "En küçük böleni 5 ten büyütür.<br>"; ?> |
Çıkan sonucun sorunumuza çözüm bulmasını bir kenara bırakın Bir sayının iki adet en küçük böleni olduğunu iddia ediyor. else if yapısını kullanarak bu sorunu istediğimiz şekilde çözebiliriz. Çünkü else if yapısındaki amaç değilse birde bu koşullarla kontrol et şeklindedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $deger = 15; if($deger%2 == 0) echo "En küçük bölen 2'dir.<br>"; else if($deger%3 == 0) echo "En küçük bölen 3'tür.<br>"; else if($deger%4 == 0) echo "En küçük bölen 4'tür.<br>"; else if($deger%5 == 0) echo "En küçük bölen 5'tir.<br>"; else echo "En küçük böleni 5 ten büyütür.<br>"; ?> |