Arşiv Anasayfa Php ve Asp Dilleri
Sayfalar: 1
Php'de Kosul Ve Sinama By: [B][R][N] Date: July 04, 2008, 03:32:56 AM
Koşul ve Sınama ( IF, Else IF, Switch )

1. IF ( Eğer ) Koşulu.
2. Switch ( Çoklu Koşul ve Sınamalar )


1. IF ( Eğer ) Koşulu.

Her programlama dili koşullar ile çalışmak zorundadır. Sınamalar, program parçalarının vazgeçilmez unsurlarıdır. Php'de bu işi IF deyimi yapar. Şimdi IF deyimini inceliyelim.

<?
$degera=10;
$degerb="ab";

if ( $degera==10 ) { echo '$degera nın Değeri 10 dur.'; } ;
if ( $degerb=="ab" ) { echo '$degerb nin değeri ab dir'; } ;
?>

Yukarıdaki örnekte basit bi sınama yaptık ve $deger a değişkenine verdiğimiz 10 değerini sınadık. Aynı işlemi alfabetik bir değer olan "ab" ilede yaptık. Bize Burada if ( xx ) koşul olarak girilir. eğer $degerb nin değeri "==" eşit ise "ab" ye diyerek koşulumuzu belirttik, Parantezler içerisinede koşul doğru ise yapılacak işlemi belirttik.

Birde koşul yanlış ise bir sınama yapalım.

<?
$degera=10;
$degerb="ab";

if ( $degera>15 ) { echo '$degera nın değeri 15 den büyüktür..'; } else { echo 'Hayır, $degera nın değeri 15 den küçüktür'; };

?>

Görüldüğü gibi burada koşul belirttik ve sınamayı yaptık. Koşulun doğru çıkmaması halinde "else" deyimi ile yapılması gerekenleri belirttik. IF deyimi ile, Birden çok sınama işlemleride yaptırabiliriz. Birkaç sınamayı arka arkaya yaptıralım.

<?
$degera=10;
$degerb="ab";

if ( $degera > 15 ) { echo '$degera nın değeri 15 den büyüktür..'; }
elseif ( $degera > 13 ) { echo '$degera nın değeri 13 den büyüktür'; }
elseif ( $degera > 10 ) { echo '$degera nın değeri 10 den büyüktür'; }
else { echo '$degera nın değeri ne 15 den, ne 13 den, nede 10 dan büyük değildir..';};
?>

Görüldüğü gibi yukarıda aynı IF deyiminin içerisinde birkaç sınama yaptırdık. Bu sınamalar dahada örneklendirilebilir.. Mantığı gayet açıktır.


Birde IF deyiminin içerisinde kullanılan komutlar vardır. Bunlar isset(), empty(), intval(), is_integer() gibi fonksiyonlarla dahada işlevselleştirilmiştir. Şimdi bu iç fonksiyonların yaptığı işleri inceliyelim.

isset() = Bu komut bir değişken tanımının içerisinde değer olup olmadığını rapor eder.
empty() = Buda isset ile aynı işi görür esasında ancak sınamayı terst'den yapar. isset() de dönen değer true ise, emtpy() de aynı değer false olarak döner.
intval()= Bu komutda belirtilen değerin numerik yani sayı karşılığını bize verir.
is_integer() = Buda değişkenin tamsayı olup olmadığını sınayarak True yahut False değeri ile bize yanıt verir.

Şimdi herbirini birer örnekler açıklıyalım ;

<?
$degisken="deneme";
if ( isset($degisken) ) { echo '$degisken değişkeninin bi değeri yok..'; } else { echo '$degisken değerinin bir değeri var';};
if ( empty($degisken)) { echo '$degisken değerinin bir değeri var..'; } else { echo '$degisken değerinin bir değeri yok'; };
?>

Görüldüğü gibi $degisken olarak "deneme" değerini atadık. İlk sınamadada isset() ile bu değişkenin var olup olmadığını kontrol ettik. Değişkenin bir değer içerdiğini rapor eden isset sonucu bize rapor etti. İkinci sınamadada aynı işlemi yaptık ancak fonksiyon olarak empty() yi kullandık. Yani ilk sınamada $degisken değerinin içerisi dolumu diye sorguladık, ikinci sinamadada $degisken değerinin içeriği boşmu diye..

Şimdide intval() ile sınama yaptıralım.

<?
$degisken1=10;
$degisken2=20;
if ( intval($degisken1+ $degisken2)==30 ) { echo '$degisken degerin karşılığı 30 dur';};
?>

Bu sorgudada intval($degisken1+$degisken2) olarak koşulumuzu belirttik. Burada intval() koşulunu kullanmayabilirdikte, ancak kimi koşullarda intval() betiğine ihtiyaç duyarız..

is_integer() ilede bir değerin tam sayı olup olmadığını sınarız.

<?
$deger1=3;
$deger2=2;
if ( is_integer($deger1/$deger2)) { echo "Sonuç bir tamsayıdır";} else { echo "Sonuç bir Tamsayı Değildir"; } ;
?>

Bu komutlar $deger1 değişkenini $deger2'ye yani 3'ü 2'ye böler. Sonuç 1.5 çıkacağından bu bir tamsayı olmayacaktır ve "Sonuç bir Tamsayı Değildir" yanıtı dönecektir.


2. Switch ( Çoklu Koşul ve Sınamalar )

Switch deyimide sıkça kullanılan koşul deyimlerinden biridir. Bu deyim aslında IF deyiminin birazdaha pratize edilmiş halidir. Switch koşulu vasıtası ile çoklu sınamalar yaptırmamız mümkün, Örneğin ;

<?

$memleket="TRABZON";

switch ($memleket) {

case "Ankara";
echo "Şehir Ankara";
break;

case "Ordu";
echo "Şehir Ordu";
break;

case "Rize";
echo "Şehir Rize";
break;

case "TRABZON";
echo "Şehir Trabzon";
break;

echo "Hiçbiri Değil..";
}

?>

Yukarıdaki örnekte $memleket değişkenini switch deyimi ile sınadık. Burada dikkat edilecek husus koşulları case "deger" ile belirterek yapılacak işlemi belirtiriz. Sınamanın bir sonraki aşamaya geçmesi için break tag'ını kullanırız.

Ynt: Php'de Kosul Ve Sinama By: RiZeLi_MeHMeT Date: December 13, 2008, 04:13:57 PM
paylaşım için teşekkürler.

SiteMap - İmode - Wap2