Operatörler ve Denetim Yapıları
Aritmetik Operatörler Tanım Örnek + Toplama 2+4=6 - Çıkarma 4-5=-1 * Çarpma 6*5=30 / Bölme 6/2=3 % Mod 7%2=1 ++ Arttırma $x=5; $x++; 6 $x=5; ++$x; 6 -- Eksiltme $x=5; $x--; 4 $x=5; --$x; 4 $x=5; echo $x++; sonucu 5 tir $y=5; echo ++$y; sonucu 6 dır.
Aritmetik Operatörler <?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)); Çıktısı: 5+2=7 5-2=3 5*2=10 6/2=3
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 Operatör Örnek = $i=1; += $i=5; $i+=3; 8 ($i=$i+3) -= $i=5; $i-=3; 2 *= $i=5; $i*=3; 15 /= $i=9; $i/=3; 3 %= $i=5; $i%=3; 2
İşaret Operatörleri <?php $sayi=10; echo "Değişkenin değeri : $sayi <br/>\n"; $sayi+=5; $sayi-=3; $sayi*=2; $sayi/=3; $sayi%=5; ?> Çı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
Karşılaştırma Operatörleri Açıklama == Eşittir != Eşit değildir > Büyüktür < Küçüktür >= Büyük veya eşittir <= Küçük veya eşittir === Eşittir ve tipi de aynıdır. !== Eşit değildir veya tipi aynı değildir. 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 Açıklama && Ve || Veya ! Değil 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 "; } 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; 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 Açıklaması isset Değişkenin tanımlı olup olmadığına bakılır empty Değişkenin boş olup olmadığına bakılır is_array Değişkenin dizi olup olmadığına bakılır is_bool Değişkenin boolean değer içerip içermediğine bakılır is_integer Değişkenin tamsayı değer içerip içermediğine bakılır is_numeric Değişkenin değerinin sayısal olup olmadığına bakılır. Değer tam veya ondalık sayı olabilir. is_string Değişkenin değerinin string olup olmadığına bakılır. is_null Değişken değerinin null olup olmadığına bakılır. is_binary Değişkenin binary değer içerip içermediğina bakılı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=" "; 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 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"; default: echo "sayı değeri belli değil (3 ile 1 dışında herhangi bir sayı) "; } ?> default kısmının kullanımı zorunlu değildir. 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"; ?>
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"; } ?> 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/>"; } 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 <?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. Sonuç: 1 2 3 4 5
break ve continue <?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. Sonuç: 1 2 3 4 6 7 8 9 10