310 likes | 550 Views
Operatörler ve Denetim Yapıları. Aritmetik Operatörler . $x=5; echo $x++; sonucu 5 tir $y=5; echo ++$y; sonucu 6 dır. Aritmetik Operatörler. Çıktısı: 5+2=7 5-2=3 5*2=10 6/2=3. <?php $sayi1=5+2; $sayi2=5-2; $sayi3=5*2; $sayi4=6/2; echo "5+2= ".$sayi1. "<br/><br>";
E N D
Aritmetik Operatörler $x=5; echo $x++; sonucu 5 tir $y=5; echo ++$y; sonucu 6 dır.
Aritmetik Operatörler Çıktısı: 5+2=7 5-2=3 5*2=10 6/2=3 <?php $sayi1=5+2; $sayi2=5-2; $sayi3=5*2; $sayi4=6/2; echo "5+2= ".$sayi1. "<br/>\n"; echo ‘5+2= ‘.$sayi1. ‘<br/>\n’; echo "5+2= $sayi1<br/>\n"; echo "5-2= ".$sayi2. "<br/>\n"; echo "5*2= ".$sayi3. "<br/>\n"; echo "6/2= ".$sayi4. "<br/>\n"; ?> • İşlem önceliği matematikte olduğu gibidir. Emin olmadığımız yerde parantez kullanabiliriz. echo 27-(3*( $sayi1-$sayi2));
Mod Operatörü • Yapılan bölme işlemindeki kalan sayıyı ifade eder. <?php $sayi1=7; $sayi2=5; echo "$sayi1 % $sayi2=". $sayi1 % $sayi2; ?> • Sonucu: 7% 5=2 dir.
Arttırma ve Eksiltme Operatörleri • Genelde döngüler için kullanılır. (++ veya --) • Değişkenden önce veya sonra yazılabilir. <?php $x=2; $y=++$x+1; $a=2; $b=$a++ +1; echo '$y = '.$y. ' $b= '.$b . ' $a= '.$a; ?> Sonucu: $y=4$b=3
İşaret Operatörleri Çıktısı: Değişkenin değeri: 10 Değişkenin değeri: 15 Değişkenin değeri: 12 Değişkenin değeri: 24 Değişkenin değeri: 8 Değişkenin değeri: 3 <?php $sayi=10; echo "Değişkenin değeri : $sayi <br/>\n"; $sayi+=5; echo "Değişkenin değeri : $sayi <br/>\n"; $sayi-=3; echo "Değişkenin değeri : $sayi <br/>\n"; $sayi*=2; echo "Değişkenin değeri : $sayi <br/>\n"; $sayi/=3; echo "Değişkenin değeri : $sayi <br/>\n"; $sayi%=5; echo "Değişkenin değeri : $sayi <br/>\n"; ?>
Karşılaştırma Operatörleri Sonuç boolean bir değerdir. True(1) veya false(0)
Karşılaştırma Operatörleri <?php $sayi1=10; $sayi2=3; echo $sayi1<$sayi2; //sonucu doğru veya yanlış döner echo $sayi1>$sayi2; ?> • Sonuç : 0 1
Mantıksal Operatörler Sonuç boolean bir değerdir. True(1) veya false(0) <?php $sayi1=10; $sayi2=3; echo ($sayi1>$sayi2) && ($sayi1>5);?> ?> Sonuç: 1 Buradaki satırdan sonucun true dönebilmesi için $sayi1 in değeri $sayi2 den büyük olmalı ve aynı zamanda 5 ten de büyük olamlıdır.
Mantıksal Denetlemeler • Programa verilen bir şart doğrultusunda yapılacak veya yapılmayacak işlemleri belirtmek suretiyle uzayıp giden yapılara denetim yapıları denir. • C ve türevi dillerde mantıksal denetlemeler amacı ile if ve switch kullanılır.
IF Mantıksal Denetleme if (yapılması istenen koşul veya koşullar) { bu koşul gerçekleşmiş ise yapılacak işlemler } <?php $x=5; if ($x>=5) { echo $x; } ?> • Tek bir satır kodumuz varsa kıvrık paranteze gerek duyulmaz. Birden fazla satır için kıvrık parantez kullanılmalıdır. • Koşul sağlanmaz ise komut(lar) çalışmaz. • if (($x>5) && ($x>$y)) birleşik mantıksal denetleme • Bütün koşullar parantez içerisinde yazılmalıdır, aksi takdirde kodlama hatası (syntax error) oluşur.
IF-ELSE MantıksalDenetleme if (yapılması istenen koşul veya koşullar) { bu koşul gerçekleşmiş ise yapılacak işlemler } else { yukarıdaki koşul veya koşullar gerçekleşmemişse yapılacak işlmler }
IF-ELSE Mantıksal Denetleme <?php $x=5; $y=6; if ($x>=$y) echo $x; else { echo $y; } ?> • Burada ya $x in yada $y nin değeri ekrana yazdırılır.
ELSEIF • if tekli • if –else ikili mantıksal denetimler için kullanılır • İkiden çok koşul oluşturmak istiyorsak elseif koşulu kullanılır. <?php $eleman_1=""; $eleman_2=""; $eleman_3=""; if ($eleman_1=="") echo "Birinci form elemanını doldurmadınız!<br/>"; if ($eleman_2=="") echo "İkinci form elemanını doldurmadınız!<br/>"; if ($eleman_3=="") echo "Üçüncü form elemanını doldurmadınız!<br/>"; ?> • Her üç mantıksal denetleme de çalışacak ve üç uyarıda verilecektir.
ELSEIF <?php $eleman_1="1"; $eleman_2=""; $eleman_3=""; if ($eleman_1=="") echo "Birinci form elemanını doldurmadınız!<br/>"; elseif ($eleman_2=="") echo "İkinci form elemanını doldurmadınız!<br/>"; elseif ($eleman_3=="") echo "Üçüncü form elemanını doldurmadınız!<br/>"; ?> • Sonuç: İkinci form elemanını doldurmadınız olacaktır. • Burada birinci denetim false olarak değerlendirilecek. İkinci denetim true olarak değerlendirildiği için, üçüncü denetim yapılmayacaktır.
İçi içe girişik mantıksal denetlemeler <?php $kullaniciadi="Emre"; $sifre="930298"; $puan=71; if (($kullaniciadi=="Emre") &&($sifre="930298")) { if ($puan>=90) echo "A aldınız"; elseif ($puan>=85) echo "A- aldınız "; elseif ($puan>=80) echo "B+ aldınız "; elseif ($puan>=75) echo "B aldınız "; else echo "F aldınız "; } else echo "Kullanıcı adı veya şifreniz yanlış"; ?> • Burada koşulun gerçekleştiği alan içerisinde farklı koşulları sınadık.
Alternatif if kullanımı • $x=koşul ? koşul doğru ise değer : koşul yanlış ise değer ; • Burada soru işareti ve iki nokta üst üsteye dikkat edilmelidir. $y=2; $x=$y<6?2:5; $y=2; if ($y<6) $x=2; else $x=5; • Yukarıdaki tek satırın if -else bloğu ile işlevi tamamen aynıdır.
İf deyiminde kullanılan komutlar <?php $isim=""; $soyisim=""; if (isset($isim)) echo "\$isim değişkeni tanımlıdır.<br/>"; if (isset($x)) echo "\$x değişkeni tanımlıdır.<br/>"; if (empty($soyisim)) echo "\$soyisim değişkeni boştur.<br/>"; $soyisim=" "; if (empty($soyisim)) echo "yeni \$soyisim değişkeni boştur.<br/>"; Else echo "yeni \$soyisim değişkeni doludur.<br/>"; ?> • Sonuç: $isim değişkeni tanımlıdır. $soyisim değişkeni boştur. yeni $soyisim değişkeni doludur.
Switch Switch ile aynı işlevi görür. Switch daha hızlı çalıştırılır. <?php $sayi=5; if ($sayi==1) echo "sayı değeri 1"; elseif ($sayi==3) echo "sayı değeri 3"; else echo "sayı değeri belli değil"; ?> • Bir değişkenin birden fazla değer ile kıyaslanması amacı ile kullanılır. <?php $sayi=5; switch ($sayi) { case 1: echo "sayı değeri 1"; break; case 3: echo "sayı değeri 3"; break; default: echo "sayı değeri belli değil (3 ile 1 dışında herhangi bir sayı) "; break; } ?> • default kısmının kullanımı zorunlu değildir.
Switch • Bir değişkenin birden fazla değer ile kıyaslanması amacı ile kullanılır. <?php $sayi=3; switch ($sayi) { case 1: case 3: echo "sayı değeri 1 veya 3 tür"; break; case 4: echo "sayı değeri 4"; break; } ?> • default kısmının kullanımı zorunlu değildir. • Birden fazla değer için aynı kod çalıştırılabilir.(case 1: case 3:) <?php $sayi=3; if (($sayi==1)|| ($sayi==3)) echo "sayı değeri 1 veya 3 tür"; elseif ($sayi==4) echo "sayı değeri 4"; ?>
Döngüler • Döngüler, program içerisinde belli bir bölümü sürekli tekrarlayan süreçler içerisinde işlemlerimizi yapmamıza yardımcı olur. • Örneğin veritabanındaki yüzlerce veriyi web sayfamızda oluşturmak için dögüler kullanılır.
while while (mantıksal denetleme) { // çalıştırılacak kod bir satır ise kullanılmayabilir çalıştırılacak kodlar } // çalıştırılacak kod bir satır ise kullanılmayabilir
while <?php $sayac=0; while ($sayac<=10) { echo "$sayac <br/>\n"; $sayac++; // veya $sayac=$sayac+1; } ?>
for for(başlangıç;mantıksal denetleme;güncelleme) { // çalıştırılacak kod bir satır ise kullanılmayabilir çalıştırılacak kodlar } // çalıştırılacak kod bir satır ise kullanılmayabilir
for <?php for ($i=1;$i<11;$i++) { echo "$i deneme<br/>"; } for ($i=1;$i<11;$i++) { if ($i%2==0) echo "$i deneme<br/>"; //sadece çift sayılar basılır. } ?>
do...while • Programcılıkta bazı durumlarda, koşul satırı uygun olmasa da döngünün en az bir kere dönmesini istediğimizde do while döngüsünden yararlanırız. do { çalıştırılacak kodlar } while (mantıksal denetleme)
do...while <?php $i=1; do { echo "$i <br/>"; } while ($i<1); ?>
break ve continue Sonuç: 1 2 3 4 5 <?php $sayac=0; while ($sayac<=10) { echo "$sayac <br/>\n"; if ($sayac==5) break; $sayac++; } ?> if mantıksal denetlemesiyle sayacımız 5 e geldiğinde döngümüz durdurulur. Kısaca sayaç 10 değil 5 te durur.
break ve continue Sonuç: 1 2 3 4 6 7 8 9 10 <?php $sayac=0; while ($sayac<=10) { $sayac++; if ($sayac==5) continue; echo "$sayac <br/>\n"; } ?> if mantıksal denetlemesiyle sayacımız 5 e geldiğinde döngümüz geriye kalan satırları çalıştırmaz ve dönmeye bir sonraki döngü değeriyle devam eder.