Image Image Image Image Image Image Image Image Image Image
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
PHP döngüleri (While, for, foreach, do … while)
#1
Information 
Döngüler sayesinde bir kod bloğunu istediğin kadar ard arda tekrarlayabilirsin. PHP’de 4 tane döngü mevcut, her biri aslında teknik olarak aynı şeyi yapıyor sadece kullanımları farklı. En çok kullanışlı olan While ve for döngüsüdür.
Döngüler hem çok eğlenceli, hem en işe yarar ifadelerden birisi. Sonsuz döngüye girme gibi riskleri olsa bile PHP’nin varsayılan çalışma zamanı limiti bu riski ortadan kaldırıyor.
Basit bir kod bloğu ve döngüler sayesinde harika işler başarabilirsin. Mesela toplu güncellemelerde ve liste gibi yerlerde döngüler kullanılır.
While döngüsü
While döngüsünün koşul olayı if ifadesi ile aynı diyebiliriz. İçerisine yazacağımız koşul doğru olduğunda kod bloğunu çalıştıran if ifadesinde olduğu gibi whilede aynı şeyi yapar. Tek farkı döngü olduğu için koşul doğru olduğu sürece tekrarlar.
1

2

3

Kod:
while

Kod:
( koşul ) {

Kod:
 

Kod:
// koşul olumlu olduğu sürece çalışacak kod bloğu

Kod:
}

While döngüsünde sonsuz döngüye girmek çok kolay, bu yüzden kodlarken biraz dikkatli olmak lazım. Eğer koşul her zaman doğru olacak şekilde olursa while de hiç durmadan döner.
1

2

3

4

Kod:
$sayi


Kod:
= 10;

Kod:
while

Kod:
(

Kod:
$sayi


Kod:
== 10) {

Kod:
   

Kod:
echo


Kod:
'sayi değişkeni 10 olduğu sürece bu yazı hep yazılacak'

Kod:
;

Kod:
}

Yukarıdaki örnek sonsuz döngüye girer, yani hatalıdır. Koşula $sayi değişkeni 10’a eşit olduğu sürece kod bloğunu ard arda çalıştır dedik. Döngüden önce $sayi değişkenine 10 değerini verdiğimiz için ve değerini hiç değiştirmediğimiz için döngü sonuza kadar döner.
Peki nasıl sınırlı ve kontrollü bir döngü yapacağız? Bu sorunun cevabıda gayet basit. Eğer döngü boyunca koşula yazdığımız değerlerin değişmesini sağlarsak döngüde belli bir dönüşten sonra durur. Hemen buna da bir örnek gösterelim.
1

2

3

4

5

Kod:
$sayi


Kod:
= 0;

Kod:
while

Kod:
(

Kod:
$sayi


Kod:
< 5) {

Kod:
   

Kod:
echo


Kod:
' Döngü '


Kod:
.

Kod:
$sayi

Kod:
;

Kod:
   

Kod:
$sayi

Kod:
++;

Kod:
}

Ekranda Döngü 0 Döngü 1 Döngü 2 Döngü 3 Döngü 4 yazar ve durur. Önce $sayi adında değişken oluşturup 0 değerini verdik, while döngümüzün koşulunada $sayi değişkeni 5 den küçük olduğu sürece dön dedik, kod bloğunun içerisine ise echo ile bir çıktı verdirdik ve hemen sonrasında $sayi değişkeninin değerini 1 arttırdık. Bu sayede her çalışmasında değer 1 artacak ve 5. çalışmasında duracaktır.
While için son örnek olarak birde matematiksel hesap yaptıralım:
1

2

3

4

5

6

7

8

9

Kod:
$sayi


Kod:
= 1;

Kod:
$sonuc


Kod:
= 1;

 

Kod:
while

Kod:
(

Kod:
$sayi


Kod:
< 10) {

Kod:
   

Kod:
$sonuc


Kod:
=

Kod:
$sonuc


Kod:
*

Kod:
$sayi

Kod:
;

Kod:
   

Kod:
$sayi

Kod:
++;

Kod:
}

 

Kod:
echo


Kod:
$sonuc

Kod:
;

Ekranda 362880 yazar. Burada $sonuc değişkenini her döngüde 1 arttırarak çarptık. Yani ilk olarak 1*1 sonrasında 1*2, sonra 2 * 3 … şeklinde sayı 10 dan küçük olana kadar çarptık.
For döngüsü
For döngüsü belirli sayıda dönecek olan kodların kullanımında kullanışlıdır. For döngüsüne 3 parametre girilir. Birinci parametre döngüde kullanılacak olan değişkeni ve değerini tanımlar, ikinci parametre whilede olduğu gibi koşulu belirtir, üçüncü parametre ise her döndüğünde yapacağı işlemi belirtir.
1

2

3

Kod:
for

Kod:
( başlangıç; koşul; her çalışmada olacak olan ) {

Kod:
   

Kod:
// koşul doğru olduğu sürece çalışacak kod bloğu

Kod:
}

Hemen örnek bir kullanım göstereyim:
1

2

3

Kod:
for

Kod:
(

Kod:
$sayi


Kod:
= 0;

Kod:
$sayi


Kod:
< 5;

Kod:
$sayi

Kod:
++) {

Kod:
   

Kod:
echo


Kod:
' Döngü '


Kod:
.

Kod:
$sayi

Kod:
;

Kod:
}

Ekranda az önce while örneğindeki çıktı ile aynı sonucu alırız. İlk parametrede $sayi değişkenine 0 değerini atadık, ikinci parametrede koşulu belirttik ve son paramterede ise her çalışmada sayı değişkenini bir arttırmasını söyledik. Sonuç olarak böyle belli sayıda dönmelerde for en idealidir.
Foreach döngüsü
Foreach döngüsüne array döngüsü diyebiliriz. Paramtere olarak bir dizi alır, ve dizi içindeki eleman sayısı kadar döner. Sadece bir dizi ve foreach döngüsü ile güzel bir listeleme yapabiliriz. Kullanımı diğer döngülerden farklı ama basittir.
Paramterede as deyiminden sonra yazdığımız değişkene her döngüde sırayla bir eleman değerini yükler.
1

2

3

Kod:
foreach

Kod:
(

Kod:
$dizi


Kod:
as


Kod:
$eleman

Kod:
) {

Kod:
   

Kod:
// dizinin tum elemanlarının sayısı kadar döner

Kod:
}

Örnek kullanım:
1

2

3

4

5

Kod:
$meyveler


Kod:
=

Kod:
array

Kod:
(

Kod:
'Elma'

Kod:
,

Kod:
'Armut'

Kod:
,

Kod:
'Portakal'

Kod:
,

Kod:
'Muz'

Kod:
);

 

Kod:
foreach

Kod:
(

Kod:
$meyveler


Kod:
as


Kod:
$meyve

Kod:
) {

Kod:
   

Kod:
echo


Kod:
$meyve


Kod:
.

Kod:
' Yiyin! '

Kod:
;

Kod:
}

Ekranda Elma Yiyin! Armut Yiyin! Portakal Yiyin! Muz Yiyin! yazar.
Dizide ne kadar eleman varsa hepsini sırayla parameterede belirttiğimiz $meyve değişkenine atayarak döndürür.
Foreach anahtarları ve değerleri ile döndürme
İlk gösterdiğim kullanımda yanlızca dizideki değerlerine ulaşabiliyorduk. Şimdi dizideki hem anahtara hem de değere ulaşmak için ise “$dizi as $anahtar => $deger” şeklinde kullanacağız.
Örnek kullanım:
1

2

3

4

5

6

7

Kod:
$bilgi

Kod:
[

Kod:
'ad'

Kod:
] =

Kod:
'Musa'

Kod:
;

Kod:
$bilgi

Kod:
[

Kod:
'yas'

Kod:
] = 18;

Kod:
$bilgi

Kod:
[

Kod:
'yer'

Kod:
] =

Kod:
'İstanbul'

Kod:
;

 

Kod:
foreach

Kod:
(

Kod:
$bilgi


Kod:
as


Kod:
$isim


Kod:
=>

Kod:
$deger

Kod:
) {

Kod:
   

Kod:
echo


Kod:
$isim


Kod:
.

Kod:
' : '


Kod:
.

Kod:
$deger


Kod:
.

Kod:
' <br/>'

Kod:
;

Kod:
}

Ekran çıktısı:
ad : Musa
yas : 18
yer : İstanbul
Foreach listeleme olaylarında en sık kullanacağımız döngülerden birisidir.
Do … While Döngüsü
Bu döngü diğerleri gibi pek fazla kullanılmaz, ama yine de bilmekte fayda var. Do While döngüsü aslında While döngüsünün koşul olayı ile aynı tek farkı; döngü koşul geçerli olsun ya da olmasın en az 1 kere çalışır. yani kod bir kere çalıştıktan sonra 2. dönmede koşulu kontrol eder, tüm espirisi budur.
1

2

3

4

5

Kod:
do

Kod:
{

Kod:
   

Kod:
// 1 kez çalışıp sonradan koşul ile dönecek olan kod bloğu

Kod:
}

Kod:
while


Kod:
( koşul );

Örnek kullanım:
1

2

3

4

5

6

7

Kod:
$sayi


Kod:
= 20;

 

Kod:
do

Kod:
{

Kod:
   

Kod:
echo


Kod:
'Selam Dünya!'

Kod:
;

Kod:
}

Kod:
while


Kod:
(

Kod:
$sayi


Kod:
< 10 );

Ekranda 1 kez Selam Dünya! yazar.
Aslında while yazdığımız koşul geçersiz. Yani $sayi değişkeni 10 dan küçük değil ama do while döngüsünde koşula bakılamdan önce 1 kere çalıştırıldığı için kod bir kez çalıştırlacaktır.
Break ifadesi ile döngüleri durdurmak
Döngüleri sadece koşullar geçersiz olduğunda değil istersen break ifadesi ile istediğin yerde de durdurabilirsin. Örneğin deneme yanılma yolu ile çok uzun sürecek bir döngünün içindeyken aradığın şeyi bulduğunda döngünün daha fazla devam etmesini engelleyebilirsin.
Break türkçe anlamı kırmakdır. Yani döngüleri break ile istediğim yerde kırabiliriz. Hemen örnek bir kullanım gösterelim:
1

2

3

4

5

6

Kod:
for

Kod:
(

Kod:
$sayi


Kod:
= 0;

Kod:
$sayi


Kod:
< 100;

Kod:
$sayi

Kod:
++) {

Kod:
   

Kod:
echo


Kod:
$sayi

Kod:
;

Kod:
   

Kod:
if

Kod:
(

Kod:
$sayi


Kod:
== 5) {

Kod:
      

Kod:
break

Kod:
;

Kod:
   

Kod:
}

Kod:
}

Ekranda 012345 yazar.
Burada 100 kez dönecek olan bir for döngüsü yaptık ve her döndüğünde ekrana sayıyı yazmasını istedik. Ama aynı zamanda içine bir koşul daha koyduk, eğer sayi değişkeninin değeri 5 olur ise break ifadesini çalıştır. Yani 100’e kadar dönecek olan bir döngüyü break ile istediğimiz yerde durdurduk.
Şu ana kadar bu öğrendiklerimiz ile bile güzel ve işe yarar şeyler yapabilirsin. Mesela asal sayı hesaplama, hesap makinesi, kullanıcı ve üyelik sistemi, içerik listeleme sistemi vs. Bu bahsettiğim çalışmalarınıda örneğini ilerleyen zamanlarda yazılarımdan takip ederek bulabilirsin.
Ara
Cevapla
Sponsor Reklam Alanı
mybb


[-]
 ()
Facebook Linkedin Technorati Twitter Digg MySpace Delicious

Anahtar Kelimeler

PHP döngüleri (While, for, foreach, do … while), PHP döngüleri (While, for, foreach, do … while) indir, PHP döngüleri (While, for, foreach, do … while) Videosu, PHP döngüleri (While, for, foreach, do … while) online izle, PHP döngüleri (While, for, foreach, do … while) Bedava indir, PHP döngüleri (While, for, foreach, do … while) Yükle, PHP döngüleri (While, for, foreach, do … while) Hakkında, PHP döngüleri (While, for, foreach, do … while) nedir, PHP döngüleri (While, for, foreach, do … while) Free indir, PHP döngüleri (While, for, foreach, do … while) oyunu, PHP döngüleri (While, for, foreach, do … while) download


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
İçerik sağlayıcı paylaşım sitesi olarak hizmet veren pvpdiyari.com adresimizde 5651 Sayılı Kanun'un 8. Maddesine ve T.C.K' nın 125. Maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. pvpdiyari.com hakkında yapılacak tüm hukuksal şikayetleri iletisim linkimizden bize ulaşıldıktan en geç 3 (üç) gün içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek, gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.
Dost Siteler
| Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle |