Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
İNTERNET PROGRAMCILIĞI 2
Öğr. Gör. Canan ASLANYÜREK
2
PROGRAM KONTROL DEYİMLERİ
Hazırlanan programların çoğunda olmazsa olmazlardan birisi de kontrol deyimleridir. Programlarda belirli şartlara göre işlem yaptırmak için, aynı işlemi birden fazla gerçekleştirmek için veya hatalar oluştuğunda bu hataları önlemek için kontrol deyimleri ve döngüler kullanılır. Şarta bağlı işlemler için if ve switch yapısı, döngüler için for ve while yapısı kullanılır.
3
Döngülerde basitçe; verdiğimiz koşul sınanır ve eğer doğru ya da yanlış ise, süslü parantezler içindeki kodlar işlenir. Bu koşulların yerine gelmesiyle de döngü program içindeki akışını sonlandırarak kendisinden sonraki adıma geçer.
4
IF-ELSE YAPISI Çoğu programlama dilinde olduğu gibi PHP içerisinde de koşula bağlı işlemlerde if-else yapısı çoğunlukla kullanılmaktadır. Belirtilen koşula bağlı tek satırlık komut çalıştırılacaksa if ve else den sonra { } parantezleri kullanmaya gerek yoktur. Birden fazla koşul bağlı işlemlerde mantıksal operatör kullanılması ve koşulların parantez içerisinde olması gerekir. Else yapısının kullanım zorunluluğu yoktur.
5
İf-else yapısının 3 kulanım şekli vardır:
Sadece koşulun sağlanması durumuna göre işlemler gerçekleştirir. Koşulun sağlanmaması durumunda herhangi bir işlem yapmaz. if(koşul_ifadesi){ Koşul sağlanırsa gerçekleşecek işlemler }
6
Koşulun sağlanması veya sağlanmaması durumuna göre işlemler gerçekleşir.
if(koşul_ifadesi) { Koşul sağlanırsa gerçekleşecek işlemler } Else { Koşul sağlanmazsa gerçekleşecek işlemler
7
Farklı koşullara göre farklı işlemler gerçekleştirmek istenildiğinde kullanılır.
if (koşul_ifadesi1) { Koşul1 sağlanırsa gerçekleşecek işlemler } Else if (koşul_ifadesi2) { Koşul1 sağlanmayıp koşul2 sağlanırsa gerçekleşecek işlemler Else if (koşul_ifadesi3) { 2 koşul da sağlanmayıp koşul3 sağlanırsa gerçekleşecek işlemler ……. Else { Koşulların hiçbiri sağlanmazsa gerçekleşecek işlemler }
8
Hava sıcaklığı 18 ile 23 derece arası ise hava sıcak mesajını verdirmek için AND operatörünü veya && işaretini kullanacağız if(($sicaklik>=18) && ($sicaklik<23)) Echo "Hava sıcak"; Günlerden Cumartesi veya Pazar ise iyi tatiller mesajını verdirmek için OR ya da || işaretini kullanabilirsiniz if(($gun=="Cumartesi") || ($gun=="Pazar")) Echo "İyi tatiller"; Verilen cevap 15 değilse yanlış mesajını verdirmek için Not operatörü veya !işareti kullanılır. if !($cevap==15) Echo "yanlış";
9
UYGULAMA <?php $sayi1=15; $sayi2=60; if($sayi1>$sayi2) {
Echo $sayi1.'_'.$sayi2.'den büyük olduğu için $sayi1 değişkenindeki'.$sayi1.' değeri daha büyüktür'; } Else{ Echo $sayi2.'_'.$sayi1.'den büyük olduğu için $sayi2 değişkenindeki'.$sayi2.' değeri daha büyüktür'; }?>
10
UYGULAMA $ortalama değişkeninin değerine göre sayfaya geçme notunu yazdıralım. <?php $ortalama=85; if($ortalama<45) echo "Kaldınız.Notunuz 1"; else if($ortalama>=45 && $ortalama <55) echo "Geçtiniz. Notunuz 2"; else if($ortalama>=55 && $ortalama<70) echo "Geçtiniz. Notunuz 3"; else if($ortalama>=70 && $ortalama<85) echo "Geçtiniz.Notunuz 4"; else if($ortalama>=85) echo "Geçtiniz. Notunuz 5"; ?>
11
Dört elemanlı bir dizinin en büyük değerini bulan program.
<?php $x=array(25,15,150,52); if($x[0]>=$x[1] && $x[0]>=$x[2] && $x[0]>=$x[3]) $enbuyuk=$x[0]; else if($x[1]>=$x[0] && $x[1]>=$x[2] && $x[1]>=$x[3]) $enbuyuk=$x[1]; else if($x[2]>=$x[0] && $x[2]>=$x[1] && $x[2]>=$x[3]) $enbuyuk=$x[2]; else $enbuyuk=$x[3]; print("En büyük değer :".$enbuyuk); ?>
12
UYGULAMA Site değişkenine göre sayfa içeriğini oluşturalım.
<html> <head> <?php $site=0; if($site==0){ print("<title>İlk sayfa</title><br>"); print ("</head><body>"); print("İlk sayfanın içeriği"); print("<br>print fonksiyonu ile sayfanın içeriğini oluşturabilirsiniz."); } else{ print("<title>İkinci sayfa</title><br>"); print("İkinci sayfanın içeriği"); </body> </html>
13
UYGULAMA Ya da bu kodlar şu şekilde de yazılabilir. <html>
<head> <?php $site=1; if($site==0) { ?> <title>İlk sayfa</title><br> </head><body>İlk sayfanın içeriği <br>print fonksiyonu ile sayfanın içeriğini oluşturabilirsiniz. } else { ?> <title>İkinci sayfa</title><br> </head><body>İkinci sayfanın içeriği <br>print fonksiyonu ile sayfanın içeriğini oluşturabilirsiniz. <?php } </body> </html> ?>
14
UYGULAMA <html> <body> <select>
<option>Armut</option> <option <?php echo $deger=='Elma' ? 'selected':''?>>Elma</option> </select> </body> </html>
15
SWITCH-CASE YAPISI Seçilen değişkenin belirlenen koşullardan hangisine uygun olduğuna bakarak o koşul için belirlenmiş işlemleri gerçekleştirir. Her case ifadesinde yaptırılacak işlemlerden sonra break komutuyla switch yapısından çıkılması gerekir. Aksi takdirde koşula bakılmaksızın diğer komutlarda çalıştırılır. Belirtilen şartların hiçbiri sağlanmıyorsa default için yazılan komutlar işleme konulur. Case ifadesinde belirtilen bir koşul olabileceği gibi bir değer de olabilir.
16
Kullanım Şekli Switch(değişken){ Case koşul1; Koşul 1 için yapılması istenen işlemler Break; Case koşul 2 ; Koşul 2 için yapılması istenen işlemler Case koşul 3 ; Koşul 3 için yapılması istenen işlemler … Default: Koşullardan hiçbiri sağlanmadıysa yapılan işlemler Break; }
17
$sehir değişkeninin değerine göre sayfaya yaşadığınız yeri yazdırmak için gerekli PHP kodlarını yazalım. <?php $sehir="Tokat"; switch($sehir) { case "Amasya": echo "Yaşadığınız yer Amasya"; break; case "Ankara": echo "Yaşadığınız yer Ankara"; case "İstanbul": echo "Yaşadığınız yer İstanbul"; break; case "Tokat": echo "Yaşadığınız yer Tokat"; default: echo "Yaşadığınız yeri bulamadım"; } ?>
18
<?php $sinav1=85; $sinav2=90; $ortalama=($sinav1+$sinav2)/2; switch($ortalama){ case($ortalama<45): echo "Kaldınız.Notunuz 1"; break; case($ortalama>=45 && $ortalama<55): echo "Geçtiniz. Notunuz 2"; case($ortalama>=55 && $ortalama<70): echo "Geçtiniz. Notunuz 3 " break; case($ortalama>=70 && $ortalama<85): echo "Geçtiniz. Notunuz 4"; default: echo "Geçtiniz. Notunuz 5"; } ?>
19
FOR DÖNGÜSÜ Belirli bir miktarda tekrarlanması istenilen durumlarda kullanılır. Her tür veriyi istediğimiz bir değere göre döngülerden faydalanarak yapabiliriz. En basit döngü şekli 1 den 10 kadar sayı saydırmak olabilir veya bir dosyadaki verileri satır, satır okutmak olabilir.
20
Döngünün tekrar sayısı sayaç değişkenine göre gerçekleştirilir.
Sayaç istenilen sayıda sonlandırılabilir ve artış miktarı ayarlanabilir. Çok fazla kod satırından oluşan benzer işlemler döngü sayesinde daha az sayıda satırla gerçekleştirilebilir. Örneğin sayfaya çarpım tablosu yerleştirmek için 100 adet hücre 10 adet satır ve 100 adet değer vermek gerekir. For döngüsü kullanılarak html tagları ve değerleri sayfaya daha kısa yoldan yazdırılabilir.
21
Kullanım Şekli For (sayac değişkeni=başlangıç değeri; sonlandırma şartı; değişim miktarı) { Gerçekleşmesi istenen işlemler } Sayaç değişkeni, döngünün tekrar sayısını belirlemek ve döngü süresince tekrar sayısını tutmak için kullanılır. Döngüye bağlı kodlar içerisinde ihtiyaç duyulursa kullanılabilir.
22
Sonlandırma şartı, sayaç değişkeninin ulaşacağı son değeri belirtmek için kullanılır. Karşılaştırma operatörleri kullanılır. Değişim miktarı, sayaç değişkeninin her döngüde ne kadar artacağını ya da azalacağını belirtir. Örneğin a++ buradaki a her döngüde 1 artacak demektir. A=a+2 vb. şeklinde de kullanılabilir.
23
Sayfaya 5 kez merhaba yazdıralım
<?php For($a=1;$a<=5;$a++) Print("Merhaba<br>"); ?>
24
1 ile 20 arasındaki çift sayıları ekrana yazdıralım.
<?php For($a=2;$a<=20;$a+=2){ Print("$a<br>"); } ?>
25
<?php echo "<select name='yillar'>"; for ($i=2018;$i>=1920;$i--) echo "<option value='$i'>$i</option>"; echo "</select>"; ?>
26
For döngüsü ile 4x2 lik bir tablo oluşturalım.
<?php $kolon=2; echo '<table border="1"><tr>'; for($i=0;$i<10;$i++){ echo '<td width="25">'.$i.'</td>'; if(($i+1)%$kolon==0) echo '</tr><tr>'; } echo '</tr></table>'; ?>
27
5 elemanlı bir dizinin elemanlarını sayfaya yazdıralım.
<?php $dizi=array("Ankara","İstanbul","Kırklareli","Edirne"); for($sayac=0;$sayac<=count($dizi)-1;$sayac++){ print($sayac.".index:".$dizi[$sayac]."<br>"); } ?>
28
WHILE DÖNGÜSÜ Verilen koşul gerçekleşene kadar belirtilen işlemleri gerçekleştirir Eğer şart hiç gerçekleşmezse döngü çalışmayacaktır. Koşul ifadesi yazılırken mantıksal operatörler kullanılarak birden fazla koşul belirtilebilir. Koşula bağlı işletilecek işlemler tek satırdan oluşuyorsa parantez kullanmaya gerek yoktur. Kullanım Şekli While(koşul) { Gerçekleşmesi istenilen işlemler }
29
1-10 arasındaki sayıları sayfaya yazdıralım.
<?php $sayac=1; while($sayac<=10){ echo $sayac."-"; $sayac++; } ?>
30
15-100 arasında 3 ve 7’ye tam olarak bölünebilen en küçük sayıyı bularak sayfaya yazdıralım.
<?php $a=15; while($a<=100 and ($a%7!=0 OR $a%3!=0)){ print "$a Bölünmez<br>"; $a++; } print "$a Bölünür <br>"; ?>
31
100' kadar sayı yazdırıp bunların tek ya da çift olduklarını bulalım
100' kadar sayı yazdırıp bunların tek ya da çift olduklarını bulalım. Tek ve çift sayıların adedini bulalım. <?php $cift=0; $tek=0; for($i=0; $i<=100; $i++){ echo "$i. sayi: ". $i; if($i % 2==0){ echo " sayı çift" ; $cift++; } else{ echo " sayı tektir"; $tek++; } echo "<br>"." "; } echo $cift . " çift sayıların sayısı";echo "<br>"; echo $tek ." tek sayların sayısı"; ?>
32
DO…WHILE DÖNGÜSÜ While döngüsüne çok benzer.
Farklı olarak şartın doğrulanmasının başta değil de sonda gerçekleşmesidir. Do-while döngüsünde şart sonda olduğu için şart sağlanmamış olsa bile döngü bir kez çalışacaktır. Özellikle kullanıcıyla etkileşim kuran sayfalarda kullanılmaktadır. Örneğin kullanıcıya bir soru yöneltmek istendiğinde kullanıcının daha önce vermiş olduğu bir cevap olmadığı için döngü bir kez çalışmak zorundadır. Bundan sonra kullanıcı isterse döngü devam eder.
33
Kullanım Şekli Do{ Gerçekleşmesi istenen işlemler } While(şart); <?php $i=0; Echo $i; } while($i>0); ?>
34
1-100 arasındaki sayıların toplamını buldurarak anlık toplam değeri sayaç 10 ve katı olduğu durumlarda sayfaya yazdırılsın. <?php $i=1; $toplam=0; do{ $toplam+=$i; if($i%10==0){ echo "sayaç değeri:$i için"; echo "toplam değeri: $toplam<br>"; } $i++; }while($i<=100); ?>
35
DÖNGÜ DENETİMİ BREAK: Döngüler belirtilen koşul sağlanana kadar çalışmaya devam edecektir, koşul sonunda döngünün çalışması sona ermektedir. Bazı durumlarda döngü sonuna kadar beklemeden istenilen adımda döngünün çalışması durdurulmak istenebilir. Bu gibi durumlarda break komutu döngünün işlevini sonlandıracak ve program akışı döngüden sonraki ilk işlemden devam edecektir.
36
<?php $sayac=1; while($sayac<=10){ if($sayac==5) break; echo "-".$sayac; $sayac++; } ?>
37
UYGULAMA <?php $dizi=array(4,8,2,9,5,7); $e_sayisi=count($dizi);
$sonuc=false; $aranan=9; for($i=0;$i<$e_sayisi;$i++) { if($dizi[$i]==$aranan){ print("Aranan deger" .$i. "noulu indexte"); $sonuc=true; break; } if($sonuc==false) print("<h2>Aranan değer dizi içerisinde yok </h2>"); ?>
38
CONTINUE Döngünün çalıştığı süre içerisinde atlanmak istenen belirli adımlar varsa continue komutu kullanılır. Continue komutu döngünün sadece o anki adımını atlayarak bir sonraki adımdan devam etmesini sağlar. <?php $sayac=1; while($sayac<=10){ if($sayac==5){ $sayac++; continue; } echo "-".$sayac; ?>
39
UYGULAMA <?php print("<table border='1'>");
print("<tr align='right'>"); for($sayac=1;$sayac<=20;$sayac++) { if($sayac % 3!=0){ print("<td>".$sayac."</td>"); } else{ print("</tr>"); continue; } } print("</table>"); ?>
40
FOREACH DÖNGÜSÜ Foreach döngüleri bir dizi değişkenin elemanları sayısınca dönme işlemi gerçekleştirir. For yapısında olduğu gibi bir başlangıç değeri ve sonlanma koşulu vermeye gerek yoktur. Dizi değişkenin ilk elemanından başlar son elemanına kadar devam eder. İki kullanım şekli vardır.
41
FOREACH Kullanım Şekli 1 Foreach (dizi_ifadesi as $deger) {
Gerçekleşmesi istenilen işlemler } Burada dizinin her elemanı sırayla $deger değişkenine atanır Kullanım Şekli 2 Foreach (dizi_ifadesi as $index=> $deger) { Gerçekleşmesi istenen işlemler Burada dizinin index değerleri sırayla $index değişkenine atanır.
42
<?php $a=0; $iller=array("Ankara","Adana","Hatay","İzmir","Antalya"); foreach ($iller as $x) print($a++.".index değeri:".$x."<br>"); ?> foreach ($iller as $x=>$deger) print($x.".index değeri:".$iller[$x]."<br>");
43
KAYNAK Ebubekir Yaşar, Turgut Özseven, İnternet Programcılığı 2
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.