Programın çalışması esnasında birkaç farklı alternatif durum arasından seçim yapmamız, bazı komutları birden fazla tekrarlatmamız, mantıksal kararlar vermemiz ya da istenmeyen hataları önlemek amacıyla programımıza müdahale etmemiz gerekebilir. Bu gibi durumları kontrol altına almak amacıyla kontrol yapılarını ve döngüleri kullanıyoruz. Şarta bağlı olarak işlem yapmak için if ve switch deyimlerini, döngüler için ise for ve while deyimlerini kullanıyoruz. Bu derste, sadece if ve swictch deyimlerini öğreneceğiz.
If deyimi
Türkçe anlamı "eğer" demektir. Anlamından da anlaşıldığı gibi if deyimi program içinde belirlenen şartın doğru (true) veya yanlış (false) olmasına göre belirli komutların çalışmasını sağlar.
If deyiminin formatları:
1 ) If (şart)
Komut ifadesi; // şart doğru ise
2) If (şart)
komut ifadesi; // şart doğru ise
else
komut ifadesi; //şart yanlış ise
İkinci kullanım şeklinde ; eğer şartımız sağlanıyorsa if deyiminden sonraki komut ifadesinde yer alan işlemler yapılır. Sağlanmıyorsa program komut ifadesini atlar ve bir alt satıra geçer.
Örnek 1:
[code]<?
$sonuc=100/2;
if ($sonuc == 50)
echo "Sonuç 50 dir.";
?>[/code]
Şart bölümünde $sonuç değişkeni ile 50 sayısı karşılaştırılıyor. Bu karşılaştırmadan çıkan sonuç doğru (true) ise ekrana “Sonuç 50 dir.” İfadesi yazdırılıyor.
Örnek 2: Yaşı 18 den küçük olanların girmesi yasak olan bir web sayfası için kontrol programı yazalım. Ziyaretçimizin yaşı 18 den küçükse ekrana “Yaşınız 18 den küçük” ve “Bu siteye girmeniz yasaktır” yazılmasını, 18 den büyük ise “Web sayfasına hoş geldiniz” yazılmasını istiyoruz.
[code]
<?
if ($yas < 18)
{
echo "Yaşınız 18 den küçük";
echo "<BR>";
echo "Bu siteye girmeniz yasaktır";
}
else
echo "Web sayfasına hoş geldiniz"
?> [/code]
- Şartın gerçekleşmesi yada gerçekleşmemesi durumunda birden fazla komutun işletilmesini istiyorsak komutlarımızı { …. } işaretleri arasına koymalıyız.
- Programın ihtiyaçlarına göre birden fazla şartımız olabilir. Bu gibi durumlarda şart bölümünde mantıksal operatörleri kullanarak şart deyimlerimizi sıralayabiliriz.
Örnek 3: Sınavdan aldığı puanı 160 ya da daha yüksek olan ve diploma notu 3.50 ya da daha yüksek olan öğrenciler için ekrana “Başarılı” diğerleri için “Başarısız” yazan programı yapalım.
[code]<?
if ($sinavnotu>=160 && $diplomanotu>=3.50)
echo "Başarılı";
else
echo "Başarısız";
?>[/code]
Örnek 4: Önceden belirlediğimiz bir sayının tek mi yoksa çift mi olduğunu belirleyelim.
[code]
<?
$a=10;
if ($a%2) // if ($a%2==1))
echo "<br>sayý tek sayidir";
else
echo "<br>sayý çift sayidir";
?>[/code]
İç İçe If Yapısı
Yukarıdaki if yapılarının haricinde iç içe if yapısı da kullanılanılır. Örneğin; işe alınacak bir eleman için cinsiyetinin erkek olması, boyunun en az 1.80 olması, kilosunun ise en fazla 90 olması isteniyor. Bu değerlerin kontrolünü yapan ve sonunda bize “aranılan eleman bulundu” sonucunu yazan programı oluşturalım.
If ( $cinsiyet="erkek" )
If ($boy>=1.80)
If ( $kilo<=90 )
Echo “aranılan eleman bulundu”;
Switch deyimi
Switch, seçilmiş bir değişkenin belli şartlardan hangisine uygun olduğuna bakıp, o şart için belirlenmiş işlemleri gerçekleştirir.
Doğru şartı sağlayan gruba ait işlemlerin yapılmasından sonra "Break" deyimi ile switch yapısından çıkılır. Break deyimi kullanılmasa diğer şartlar kontrol edilmeksizin komutları sırayla çalıştırılır.
Switch deyiminin formatı:
Switch (değişken)
{
Case şart1;
Yapılacak işlemler
Break;
Case şart2;
Yapılacak işlemler
Break;
Case şart3;
Yapılacak işlemler
Break;
Default:
Hiçbir şart sağlanmıyorsa yapılacak işlemler
}
Örnek 4:[code]
<?
$takim="Galatasaray";
Switch ($takim) {
case "Galatasaray";
echo "Tuttuğunuz takım Galatasaray";
break;
case "Fenerbahçe";
echo "Tuttuğunuz takım Fenerbahçe";
break;
case "Beşiktaş";
echo "Tuttuğunuz takım Beşiktaş";
break;
case "Trabzonspor";
echo "Tuttuğunuz takım Trabsonspor";
break;
default:
echo "yazdığınız takım listede yok"; }
?> [/code]
Ekran Çıktısı
Tuttuğunuz takım Galatasaray
Not: Eğer $takim=”Galatasaray satırında Galatasaray, Fenerbahçe, Beşiktaş veya Trabzonspor yerine başka bir takım yazılsaydı. Default bölümdeki komutlar çalışacak ve ekrana “yazdığınız takım listede yok” şeklinde bir metin yazılacaktı.
Örmek 5: Önceden belirlediğimiz iki sayı ve matematiksel dört işlemi aritmetiksel operatörleri kullanarak gerçekleştirelim.
[code]
<?
$sayi1=10;
$sayi2=5;
$islem="çarpma";
Switch ($islem) {
Case "toplama";
$sonuc=$sayi1+$sayi2;
Echo $sonuc;
Break;
Case "çıkarma";
$sonuc=$sayi1-$sayi2;
Echo $sonuc;
Break;
Case "çarpma";
$sonuc=$sayi1*$sayi2;
Echo $sonuc;
Break; /
Case "bölme";
$sonuc=$sayi1/$sayi2;
Echo $sonuc;
Break;
Default:
Echo "yazdığınız işlem geçersiz";
}
?>[/code]
Öğrendiklerimizi bir kaç soru ile pekiştirelim.
SORU 1 : 3 adet sayiyi küçükten büyüğe doğru sıralayan php programını yapınız?
CEVAP 1 : [CODE]<?
$sayi1=16;
$sayi2=1;
$sayi3=1;
if ($sayi1>$sayi2)
{
$ara=$sayi1;
$sayi1=$sayi2;
$sayi2=$ara;
}
if ($sayi1>$sayi3)
{
$ara=$sayi1;
$sayi1=$sayi3;
$sayi3=$ara;
}
if ($sayi2>$sayi3)
{
$ara=$sayi2;
$sayi2=$sayi3;
$sayi3=$ara;
}
echo $sayi1,"<br>",$sayi2,"<br>",$sayi3;
?>[/CODE]
SORU 2 : 2 adet sayidan büyük olanı küçüğe bölen php programını yapınız?
CEVAP 2: [CODE]<?
$sayi1=6;
$sayi2=45;
if ($sayi1>$sayi2)
$sonuc=$sayi1/$sayi2;
else
$sonuc=$sayi2/$sayi1;
echo $sayi1,"<br>",$sayi2,"<br>",$sonuc;
?>[/CODE]
SORU 3: Hava sıcaklığına göre aşağıdaki faaliyetlerden birini gerçekleştiren php programını yapınız?
-10 kayak
0 sinema
10 tenis
20 piknik
30 yüzme
CEVAP 3: [CODE] <?
$hava=0;
switch($hava)
{
case -10;
echo "kayak";
break;
case 0;
echo "sinema";
break;
case 10;
echo "tenis";
break;
case 20;
echo "piknik";
break;
case 30;
echo "yüzme";
break;
default:
echo "yanlış giriş";
}
?> [/CODE]








ile görüntülenir.
Yorum Yazın