Php döngüler ve döngü örnekleri

Posted by krmylmz on 11 January 2019 Friday 12:14:41

Merhaba sevgili okurlar, bu yazımda php nin yine temel taşlarından olan dngüler kısmına değineceğim. php de for, foreach ve while olmak üzere 3 çeşit döngü mevcuttur. Bu 3 düngünün benzer yanları olduğu gibi farklı kullanım alanlarıda mevcuttur. Öncelikle bu konuda php array işlemlerinden faydalanacağımız üzere, daha önce anlatmış olduğum PHP Array İşlemleri yazımı okumanızı tavsiye ederim.

Önce sıkça karşılaştığınız for döngüsünden bahsedelim. for döngüsü koşullu bir döngüdür. Döngü içersinde bir koşul belirtirsiniz, bu koşul gerçekleşene kadar döngü devam eder.

for($a = 0; $a < 10; $a++)
{
echo $a;
}

Döngü içersinde a isminde bir değişken tanımladık. değerinide 0 olarak atadık. daha sonra a değişkeni şayet 10 dan küçükse her döngüde a değişkenini 1 artırmasını belirttik. yani bu döngü 10 defa dndükten sonra a 11 değerine erişecek, ve 10 dan büyük bir değer olacağı için koşul gerçekleşmeyecek ve döngü duracaktır.

Peki bu döngümüz nerede kullanılır. Basit bir örnek yapalım ve php de var olan explode() fonksiyonunuda anlatmış olalım.

explode fonksiyonu bir metni belirttiğiniz bir parametreye göre bir dizi değişkene çevirmenize yarar. Basitçe bu fonksiyona bir örnek verelim.

$metin = 'Merhaba Dünya ben bir değişken değeriyim.';
$boluntule = explode(' ', $metin);
var_dump($boluntule);

explode fonksiyonu 2 parametre alır, 1 parametre text içersinde aranacak veri, 2. parametrede işlem yapılacak değişken örnekte metin isimli değişkenin değerini explode yardımıyla boşluk karakterlerinin olduğu kısımlardan bölüntüledik. ve artık $boluntule isminde elimizde bir array mevcut.

Bu kodumuzun çıktısı

array(6) { [0]=> string(7) "Merhaba" [1]=> string(6) "Dünya" [2]=> string(3) "ben" [3]=> string(3) "bir" [4]=> string(10) "değişken" [5]=> string(11) "değeriyim." }

şeklinde olacaktır. Gördüğünüz gibi boşluk karakterleri olan kısımlardan tüm kelimeleri bir array elemanı olarak atayarak bize bir dizi değişken sonucu verdi.

Şimdi for döngümüzü kullanarak bu dizi değişkeni ekrana yazdıralım.

 

$metin = 'Merhaba Dünya ben bir değişken değeriyim.';
$boluntule = explode(' ', $metin);

for($a = 0; $a < count($boluntule); $a++)
{
echo $boluntule[$a];
}

kodumuzun çıktısı,

"MerhabaDünyabenbirdeğişkendeğeriyim." şeklinde olacaktır. count($boluntule) ise dizi değişkendeki toplam eleman sayısını verir, yani koşul belirtebilemiz için dizinin sayısını bilmemiz gerekirdi. oraya 10 da yazardık, ancak array 6 elamanlı olduğu için 6 dan sonra boş data yada hata verecekti.

Diğer bir döngü tipimiz foreach döngüsü, bu döngü de bir dizi değişkeni elemanlarını açarak ekrarana yazdırmanıza yarar,

$metin = 'Merhaba Dünya ben bir değişken değeriyim.';
$boluntule = explode(' ', $metin);

foreach($boluntule as $yaz)
{
echo $yaz;
}

yine çıktı aynı şekilde "MerhabaDünyabenbirdeğişkendeğeriyim." olacaktır. foreach bir dizi değişkenin her elemanını normal değişkene dönüştürerek size verir.

Son olarak while döngüsü yine bir koşula bağlı döngüdür. while döngüsünde koşul belirtmeden de döngü sağlanabilir, ancak bu kodunuzun sonsuz döngüye girmesine neden olur.

 

$metin = 'Merhaba Dünya ben bir değişken değeriyim.';
$boluntule = explode(' ', $metin);
$a =0;
while($boluntule)
{
echo $boluntule[$i];
$a = $a+1;
if($a > count($boluntule)-1)
{
break;
}
}

yine çıktı aynı şekilde "MerhabaDünyabenbirdeğişkendeğeriyim." Burada for içersinde tanımladığımız a değişkenini döngüden bağımsız olarak oluşturduk, ayrıca döngü içersinde, a değişkeninin boluntule dizi eleman sayısından fazla olup olmadığını her döngüde kontrol ettik, ve a dizi sayısından büyükse break kodu ile döngünün durmasını sağladık. Aksi taktirde kodumuz sonsuz döngüye girecekti.


bir de do döngüsü while do yada do while döngüleri var, ancak bu konuya şu anlık girmeyeceğim. En temel mantığı ile bu 3 döngüyü anlayabilirseniz, işinizi görecektir.

Sağlıcakla esen kalın.