Türkiyenin Paylasim PlatFormu
Merhaba Ziyaretçi Formumuzdan Daha İyi Yararlanabilmen İçin Üye Ol...
Türkiyenin Paylasim PlatFormu
Merhaba Ziyaretçi Formumuzdan Daha İyi Yararlanabilmen İçin Üye Ol...
Türkiyenin Paylasim PlatFormu
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Türkiyenin Paylasim PlatFormu

İYİ FORUMLAR,İYİ EGLENCELER...
 
AnasayfaAramaLatest imagesKayıt OlGiriş yapOyun salonu

 

 Php Dersleri (16.Bölüm)

Aşağa gitmek 
YazarMesaj
Admin
Administratör
Administratör
Admin


Ruh Hali : 15
Rep Gücü Rep Gücü : 18735
Rep Puanı Rep Puanı : 10

Php Dersleri (16.Bölüm) Empty
MesajKonu: Php Dersleri (16.Bölüm)   Php Dersleri (16.Bölüm) I_icon_minitimePaz Mart 29, 2009 7:37 pm

DÖNGÜLER


15.Bölümündeki php derslerimizin iki denetim ögesi de programın ileri doğru akışını bozmayan araçlardır. Oysa ki bazen programımızın bir koşul gerçekleşinceye kadar yerinde sayması ve koşul gerçekleşmedikçe ilerlememesi gerekebilir. Kimi zaman da programımıza bir işi bitirmeden ileri gitmemesini biz bildiririz. Program akışının bu tür denetimini döngü deyimleri sağlar. PHP'de iki tür döngü vardır: bir durum devam ettiği veya etmediği sürece yapılan ve kaç kere tekrar edeceği bilinemeyen while döngüleri, ve tekrar sayısı belirli for döngüleri.


while döngüsü

Bir değişkenin içeriğinin belirli bir şartı karşılaması, karşılamaması halinde icra edilmektedir. Burada dikkat edeceğimiz husus, programın icrası sırasında değişkenin içeriğinin, koşulun değişmesinin sağlamaktır. Aksi halde pigramımız sonsuz döngüye girer ve muhtemelen çöke bilir. while döngüsü şu sekilde yazılır:


PHP- Kodu:

while (koşul) {
koşul doğru olduğuna eminseniz yapılacak işlemlere ilişkin komutlar
}


Bu yöntemlerin yaygın kullanıldığı alan ve yer bir sayaçla yaptırılan iştir. Aşağıdaki programımızı while.php adı ile kayıt edip çalıştırırsak, PHP, Browser'ın yazı türü boyutunu 1'den 7'ye kadar büyüterek, aynı metni yazdıracak:

PHP- Kodu:

<HTML>
<HEAD>
<TITLE>PHP'de Döngüler</TITLE>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<?php
$sayac = 1;
while ( $sayac <= 7 ) {
print ("<font size= $sayac >");
print ("<b><p>Herzaman iyi düşüncelerin olsun</b></p>");
print ("</font>");
$sayac ++;
}
?>
</BODY>
</HTML>

Programımız, while döngüsü içindeki iken, sonsuz döngüden kurtulabilmek için, yazıyı yazdırdıktan sonra, $sayac değişkenini bir arttırıyor. Aksi taktirde, değişken hiç bir zaman while döngüsünün beklediği şarta kavuşarak 7'ye eşit hale gelemeyecektir. (Programı, sondaki "$sayac ++;" satırını kaldırarak denerseniz, zararsız bir sonsuz döngünün ne olduğunu görebilirsiniz!

Ama önce Browser'ın dur düğmesinin yerinde durup durmadığna bir bakın!)
while döngüsün aradığı şartın yerine gelmesi, her zaman burada olduğu gibi, tabir yerinde ise "elle" yapılmaz; döngünün icra ettiği komutlar veya fonksiyonlar koşulu içeren değişkeni değiştirebilirler.

Sözgelimi elektronik ticaret sitemizde Web ziyaretçimizin while içinde yaptığı alışverişin tutarını koşul olarak kullanabiliriz ve bu koşulu içeren değişken alışveriş ile değişebilir.


do..while


while döngüsü farkettiğiniz gibi, ileri sürdüğümüz şartı, iyi yapmadan önce sınar; ve bu şart ortadan kalkmamışsa (yani henüz doğru/true ise) yapacağı işi yapar; başka bir deyişle while döngüsünün yapacağı iş hiç yapılmayabilir. Fakat sınamanın iş yapıldıktan sonra yerine getirildiği bir şekli de vardır: do..while.. Bu döngü ise şöyle yazılır:

PHP- Kodu:

do {
koşul doğru olduğuna eminseniz yapılacak işlere ilişkin komutlar
}
while (koşul);



Burada gördğünüz gibi do..while döngüsü en az bir kere icra edilir; çünkü şartın sınanması yapılacak işe ilişkin komutlardan sonra gelmektedir. Bu döngünün aradığı şartın döngünün yaptığı işlerin sonucu veya kod bölümünde bizim tarafımızdan gerçekleştirilmesi için igerekli komutların bulunmasına dikkat etmelisiniz. Yoksa, bu döngü de sonsuzluğa erişir! Yukarıda örneği, bu yöntemle yazalım:

PHP- Kodu:

<?php
$sayac = 1;
do {
print ("<font size= $sayac >");
print ("<b><p>Herzaman İyi Düşüncelerin olsun</b></p>");
print ("</font>");
$sayac ++;
}
while ( $sayac <= 7 ) ;
?>


Bu döngüyü yazarken, while satırının sorunda noktalı virgül bulunduğuna dikkat edin.


for döngüsü

PHP'de Web programlarımız, döngünün belirli bir sayıda olmasını ve mesela bu sayının bizim istediğimiz basamaklarda artmasını gerektiriyorsa, döngüyü for deyimiyle kurabiliriz.

Ayrıca for deyimi sayaç gibi şartın yerine gelmesini sağlayacak arttırma veşa eksiltme işlemlerini kendisi yapacağı için, sonsuz döngüye girme tehlikesi de hemen hemen yoktur. Bu döngü şöyle yazılır:

PHP- Kodu:

for ( $yeni_degisken atama ; koşul ; artış basaması ) {
Koşul doğru olduğuna eminseniz yapılacak işlere ilişkin komutlar
}


for deyiminin ilk ögesi, döngü sayacı olarak kullanılacak bir değişken oluşkturulması ve buna değer atanmasına ilişkindir; sonra bir noktalı vrigül ile bu sayacın sınırı olan koşul belirtilir. Yine noktalı virgül ile ayırarak, sayaç değişkeninin artış hızı verilir. Bunu da yine yukarıdaki örnekle gösterelim:

PHP- Kodu:

<?php
for ($sayac = 1; $sayac <= 7 ; $sayac++ ) {
print ("<font size= $sayac >");
print ("<b><p>Herzaman İyi Düşüncelerin Olsun</b></p>");
print ("</font>");
}
?>

Buradaki kod, while ve do..while göre çok daha kısa; ve while döngüsü sayacı arttırmayı sağlayan satır unutulsa bile çalışacağı halde, for döngüsü unsurlara ilişkin noktalı virgüller eksik olursa çalışmayacak ve bize böylece sonsuz döngü tehlikesini hatırlatmış olacaktır.

for döngüsü kendi sayacını verdiğiniz şartı karşılayıncaya kendisi arttıracak, yani buradaki örneği göre $sayaç değişkeni 7 oluncaya kadar çalışacak ve şart karşılandığı anda, sona erecektir.
Sayfa başına dön Aşağa gitmek
 
Php Dersleri (16.Bölüm)
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» PHP Dersleri (1. Bölüm)
» Php Dersleri (17.Bölüm)
» Php Dersleri (2.Bölüm)
» Php Dersleri (18.Bölüm)
» Php Dersleri (3.Bölüm)

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Türkiyenin Paylasim PlatFormu :: Webmaster :: Php Hakkında-
Buraya geçin: