PHP'de kontrol yapıları (if,else if,switch/case)

Dikkat: Bu yazının yazılma tarihinin üzerinden en az 60 gün geçmiş. İçerisindeki bilgiler güncelliğini yitirmiş olabilir. Yorumları ve güncellemeleri göz önünde bulundurarak yazıyı takip ediniz.

Kontrol Yapıları

Kontrol yapıları programların neredeyse her 5 kodundan birinde vardır. Çünkü kontroller şartlar değiştiğinde sonuçları değiştiren yapılardır. Eğer böyle bişey olmasa idi program diye birşey olmaz statik yapılar olurdu. Kontrol yapıları çok çeşitlidir. Ancak sık kullanılan 2-3 tanesini ele alacağım.

if Kontrolü

Basit bir yapıdır. Basitçe kullanımı :
if( koşullar ){
  print 'koşul sağlandı';
}
şeklindedir. Koşullar gerçeklendiği sürece işlemler yapılacaktır.

if else Kontrolü

if kontrolüne koşulun olmadığı zaman da görev verilenidir.
if( koşullar ){
  print 'koşul sağlanıyor';
}else{
  print 'koşul sağlanmıyor';
}

if else if kontrolü

Bir if else kontrolünde else yani ilk koşulun sağlanmaması halindeki duruma bir if eklenirse yani üsttekilerin sağlanmaması ve burada tanımlanan koşulun sağlanması halidir.
if( ilk koşullar ){
  // ilk koşular sağlanıyorsa yapılacaklar
  print 'bir';
}else if( ikinci koşullar ){
  // ilk koşullar sağlanmıyor ve ikinci koşullar sağlanıyorsa yapılacaklar
  print 'iki';
}else if( üçüncü koşullar ){
  print 'üç';
  // ilk ve ikinci koşullar sağlanmıyor ve üçüncü koşullar sağlanıyorsa yapılacaklar

}else{
  // hiçbiri sağlanmıyorsa yapılacaklar
  print 'bir, iki ve üç DEĞİL!';
}

switch / case Yapısı

switch / case yapısını çok sonuçlu olayları kontrol ederken kullanırız. Mesela bir olay sonucu $deg değişkeni 3 değer alabilsin ("1x","2x","3x"). Burada if'leri kullanmaktansa switch / case yapılarını kullanmak daha kısadır.
switch($deg){
  case '1x' : print "deg'in içi 1x";break;
  case '2x' : print "deg'in içi 2x";break;
  case '3x' : print "deg'in içi 3x";break;
  default : print "deg'in içi 1x,2x,3x değil";
}
Kontrol yapıları aslında programlamada en sık kullanılan yapılardır. Farkında olmadan çok kez bu yapıları defalarca defalarca yazarız. Kullanımlarını, esnekliklerini iyi bilmek gerektiğini düşünüyorum.


Hazırlayan : Mehmet Fatih YILDIZ

Yorumlar

Üye Resmi serkan gül
12 Ocak Cumartesi ´08 21:31
teşekürler hocam yazılarının devamını beleriz...
Üye Resmi Sinan KÖSE
9 Ekim Perşembe ´08 10:38
Bilgilerden dolayı çok teşekkür ederim.
Üye Resmi ali can özer
20 Ekim Pazartesi ´08 21:59
teşekkürler
Üye Resmi nihat kaya
7 Ocak Çarşamba ´09 01:16
çok güzel açıklamışsınız üstad
Üye Resmi irem derin özer
20 Kasım Cuma ´09 11:24
çookk çokk teşkkürr edermmm =)
Üye Resmi asim
2 Ağustos Pazartesi ´10 16:27
hocam sizden bişey rica etsem if içinde if kullanmayı öğretecek güzel bir örenek verebilirseniz size teşşekürlerimi borç bilirim iyi çalışmalar
2 Ağustos Pazartesi ´10 21:04
Zaten kendin demişsin if içinde if diye.Aşağıya bir örnek yazdım.Umarım anlarsın...

<?php
$ad="mete";
$soyad="oncu";
if($ad=="mete"){
if($soyad="oncu"){
echo "İsim ve soyisim doğru";
}else{
echo "İsim doğru ama soyad yanlış";
}
}else{
echo "İsim yanlış";
}
?>
28 Ocak Cuma ´11 20:40
Çok teşekkür ederim .
Üye Resmi cuneytayyar
12 Kasım Cumartesi ´11 19:29
ağzınIza sağlık

switch($deg){
  case '1x' : print "deg'in içi 1x";break;
  case '2x' : print "deg'in içi 2x";break;
  case '3x' : print "deg'in içi 3x";break;
  default : print "deg'in içi 1x,2x,3x değil";
}

Burada 1x,2x,3x gibi ardışık ifadeleri/sayıları otomatik artırmanın yolu yok mudur? case içinkonuşuyorum
Üye Resmi enesgenc
8 Ocak Pazar ´12 11:58
10 tane elamanı olan not ismindeki dizi değişkeni değerlerini kontrol ettirip 45'den büyük olanları saydıran ve sınıfın başarısını %'e olarak veren, php script kodunu yazınız ?
arkadaşlar lütfen yardım edin
Üye Resmi twitteri
9 Mart Cuma ´12 00:03
alone


<?php
$ad="mete";
$soyad="oncu";
if($ad=="mete" && $soyad="oncu" ){
echo "İsim ve soyisim doğru";
}else{
echo "İsim doğru ama soyad yanlış";
}
}else{
echo "İsim yanlış";
}
?>

bu daha mantıklı olur
Üye Resmi Can aydınder
12 Aralık Cuma ´14 09:38
Merhaba benim bir proplemim var acaba nerde hata yapıyorum yardımcı olabilirmisiniz acaba  bir değişkenin içini kontrol etmek istiyorum fakat bu değişkenin içinde srting bir ifade var gerek if else gerekse switch yapısı ile denedim fakat bir sonuc alamadım bu konuda yardımlarınızı bekliyorum.

Değişkenim :
$url="http://www.chat.gen.tr";
if($url=="http://www.chat.gen.tr"){
echo $url." Sitesinden gelmişssiniz";
}else{
echo "Geldiğiniz site bilinmiyor ...";
}

Yapı çok basit gibi görünsede aslında bir türlü başarılı olamadım.
Yeni Yorum *
İletişim Bilgileri
*
*
E-Posta adresiniz gösterilmeyecektir.
(unut)
Güvenlik Kodu *

Gönderiliyor