PHP Dersleri
  Ders -3
 
                         PROGRAM DENETİMİ
        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 ifadelerini, döngüler için ise for ve while
ifadelerini kullanıyoruz. Şimdi bunları sırayla ve örneklerle inceleyelim

-Kontrol Yapıları
--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 kalıbı aşağıdaki şekildedir;
If (şart)
Komut ifadesi;   



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.

if deyimini basit bir örnekle inceleyelim

<?
$sonuc=100/2;
if ($sonuc == 50)
echo "Sonuç 50 dir.";
?>

Ş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.

Şimdi bu ifadeye ek olarak else bölümünü inceleyeceğiz. If …else olarak adlandırılan
bu kalıpta şart sağlanıyorsa belirli komut ifadesi sağlanmıyor ise başka bir komut ifadesi
çalıştırılmaktadır.

“if ….. else ….” deyiminin kalıbı aşağıdaki şekildedir

If (şart)
Birinci komut ifadesi; // şart doğru ise
else
İkinci komut ifadesi; //şart yanlış ise


Örnek: 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.

Program kodu
<?
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"
?>

Şartın gerçekleşmesi ya da gerçekleşmemesi durumunda birden fazla komutun
işletilmesini istiyorsak komutlaı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: 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 gerekli
kodları yazalım.

Program Kodu
<?
if ($sinavnotu>=160 && $diplomanotu>=3.50)
echo "Başarılı";
else
echo "Başarısız";
?>

Ayrıca iç içe if yapısı da kullanılabilir. Örneğin işe alınacak bir eleman için
cinsiyetinin erkek, boyunun en az 1.80, 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 kalıbı aşağıdaki şekildedir

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 kod
<?
$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"; }
?>
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ı.

Switch deyimine başka bir örnekle devam edelim. Daha önce belirlediğimiz iki sayı ve
matematiksel dört işlemi aritmetiksel operatörleri kullanarak gerçekleştirelim.

<?
$sayi1=10; // birinci sayımıza 10 değerini verdik.
$sayi2=5; // ikinci sayımıza 5 değerini verdik.
$islem="çarpma"; //yapılacak işlemi çarpma işlemi olarak belirledik.
Switch ($islem) { //switch deyimindeki $islem değişkeni işleme alınıyor.
Case "toplama"; //yazılan işlem toplama işlemi ise aşağıdaki işlemler yapılacak.
$sonuc=$sayi1+$sayi2; // değişkenler toplanıp $sonuc değişkenine aktarılıyor.
Echo $sonuc; //sonuç ekrana yazdırılıyor.
Break; // switch deyiminden çıkılıyor.
Case "çıkarma"; //yazılan işlem çıkarma işlemi ise aşağıdaki işlemler yapılacak
$sonuc=$sayi1-$sayi2; // değişkenler çıkartılıp $sonuc değişkenine aktarılıyor
Echo $sonuc; //sonuç ekrana yazdırılıyor
Break; // switch deyiminden çıkılıyor
Case "çarpma"; //yazılan işlem çarpma işlemi ise aşağıdaki işlemler yapılacak.
$sonuc=$sayi1*$sayi2; // değişkenler çarpılıp $sonuc değişkenine aktarılıyor.
Echo $sonuc; //sonuç ekrana yazdırılıyor.
Break; // switch deyiminden çıkılıyor.
Case "bölme"; //yazılan işlem bölme işlemi ise aşağıdaki işlemler yapılacak.
$sonuc=$sayi1/$sayi2; // değişkenler bölünüp $sonuc değişkenine aktarılıyor.
Echo $sonuc; //sonuç ekrana yazdırılıyor.
Break; // switch deyiminden çıkılıyor.
Default: //eğer yazılan işlem dört işlem dışında ise
Echo "yazdığınız işlem geçersiz"; //ekrana işlemin geçersiz olduğu yazılıyor.
}
?>

                                       Döngüler                

-For Döngüsü
Komut ya da komutların istenilen sayıda tekrarlanmasını sağlar. Sayaç mantığıyla
çalışır. Döngüyü istediğimiz sayıdan başlatır istediğimiz sayıda sonlandırabiliriz. Döngünün
değişme değerini her işlemde istediğimiz miktarda artırabilir ya da azaltabiliriz. Örneğin
döngümüz için başlangıç değerini 1, bitiş değerini 100 olarak belirleyebilir. Artış miktarını
ise 2 olarak ayarlayabiliriz. Bu durumda döngü içindeki komutlar 50 defa tekrar tekrar
çalıştırılacaktır.

For döngüsünün kalıbı aşağıdaki gibidir

for (döngü değişkeni=başlangıç değeri; şart; değişim miktarı)
{ yapılacak işlemler
}

Basit bir örnekle for döngüsünün yapısını ve çalışmasını inceleyelim. 1’ den 10’ a
kadar olan sayıları alt alta yazdıralım.

Program Kodu
<?
for ($i=1;$i<=10;$i++) //başlangıç değerimizi 1, bitiş
//değerimizi 10, ve değişim miktarını +1 olarak belirledik.
{
echo $i; // değişken değeri ekrana yazdırılıyor.
echo "<br>"; //bir satır alta geçiliyor.
}?
>
Ekran Çıktısı
1
2
3
4
5
6
7
8
9
10

Bu örnekteki döngümüzde $i değişkenimizin başlangıç değeri 1’dir. Döngü
başladığında değişkenimizin değeri ekrana yazılmakta ve bir satır alta geçilmektedir.
Değişkenin değeri 10’ a eşit olmadığı için değişken değeri bir artırılarak tekrar döngüye
girmektedir. Aynı işlemler tekrarlanmaktadır. Bu işlem değişken değeri 10 oluncaya kadar
devam etmektedir.

-While Döngüsü
While döngüsü, içerisinde tanımlanan koşul sağlandığı sürece belirli komut ifadesi
grubunun çalıştırılmasını sağlar. Şart ifadesinin doğruluğu her döngünün başında kontrol
edilir, buna göre döngünün içerisindeki komut ifadeleri çalıştırılmaya devam eder ya da
döngü sona erer. Eğer şart sağlanmıyorsa while hiç çalıştırılmaz

while döngüsünün kalıbı aşağıdaki gibidir:

while(şart)
{
Yapılacak işlemler
}

Örnek bir program üzerinde while döngüsünü inceleyelim. Daha önce for döngüsü ile
yaptığımız 1’ den 10’ a kadar olan sayıları yazdıran programı while döngüsü ile yazalım.
Böylece hem while döngünün kullanımını hem de iki döngü arasındaki farklılıkları
göreceksiniz

Örnek Kod:
<?
$i=1; //başlangıç değerini belirledik.
while ($i<=10) //10 a kadar olma şartımızı belirledik.
{e
cho $i; //değişken değerini yazdırdık.
echo "<br>"; //bir alt satıra geçtik.
$i++; //değişken değerimizi 1 artırdık.
}?
>


Yukarıdaki programda ilk olarak tanımlanan bir "i" değişkenine 1 değeri atanmaktadır.
While döngüsü, "i", 10’ dan küçük olduğu sürece çalışacak şekilde kurulmuştur. Programın 5
ve 6. satırlarında i' nin değeri ekrana yazdırılmakta ve bir satır alta inilmektedir. $i++;
komutu önemlidir çünkü "i" değeri bu komutla değiştirilmektedir. Döngümüz i değerine
bağlı olarak kurulmuştur. i değerinin sabit kalması durumunda ($i<=10) ifadesi (1<=10)
olarak kalacağından sürekli true sonucunu döndürecektir.

While (True) ->Döngüye gir
While (False)->Döngüye girme

Anlamına gelmektedir.
     Dikkat edilmesi gereken bir başka nokta ise $i++ ifadesi (bu değer değişikliği
komutunu farklı artış ve azalmalar sağlayacak şekilde de yazabilirsiniz). Döngümüzün
sonunda olduğu için döngümüzün son çalıştığı seferde (i=10 durumunda) son bir kez daha 1
artırılarak 11’ e eşit olacaktır. 11<=10 ifadesi false sonucu döndürdüğünden döngü tekrar
çalışmayacaktır.

 
 
 
  Bugün 2 ziyaretçi (3 klik) kişi burdaydı! Untitled Document

 

 

Yıldız SoftWare Giriş

 

Kullanıcı ID :
Şifre :
Giriş Seçenekleri

 
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol