PHP Döngüler Rehberi: Komutlar ve Nasıl Kullanılır?

Programlama dillerinden bağımsız olarak algoritma geliştirirken veya bir sorunu çözerken ihtiyaç duyulan komutlardan biri döngülerdir. 

Döngüler, tek bir kod bloğunu ya da işlem satırını birden fazla çalıştırmak için tekrar tekrar yazmanın önüne geçmek için kullanılır.

Bir ya da daha fazla işlem satırının bir koşula bağlı kalarak belirli sayıda ya da bir koşul sağlandığı sürece tekrarlı olarak çalışmasını sağlayan kalıplara döngü adı verilmektedir.

PHP’de sıklıkla kullanılan döngüler şunlardır:

  • While / Do while döngüsü
  • Foreach döngüsü
  • For döngüsü

PHP Döngüleri Ne İşe Yarar?

PHP döngüleri, tekrar etmesi gereken bir işlevin sürekli olarak yazılması yerine bir koşula bağlanarak belirli sayıda veya bir koşula bağlı olduğu sürece işlemi devam ettirmeyi sağlar.

Döngülerin kullanılmasındaki en büyük avantaj ise birbirini tekrarlayan işlemin satır satır yazılmasının önüne geçerek işlem verimliliğini arttırmak dolayısıyla kod kalitesini de yukarıya çekmektir.

PHP Döngüleri Nasıl Kullanılır: Döngü Komutları

PHP programlama dilinde yaygın olarak kullanılan döngüler for döngüsü, while / do while döngüsü ve foreach döngüsüdür. For, foreach ve while döngülerinin neler olduğuna, ne için kullanıldıklarına, nasıl oluşturulduklarına ve birbirine göre farklarının neler olduklarına yazımızın devamında değineceğiz.

PHP For Döngüsü

PHP for döngüsü, programlamada kod bloğunun belirle sayıda ve üst üste çalıştırmak amacıyla kullanılan döngü çeşididir. Döngü başlangıç aşamasında kullanılan değişlene döngü içerisinde müdahele edilebilir ve tekrar sayısı değiştirilebilir.

For döngüsünde en temel amaç koşulun sağlandığı sürece istenen komutların işleyişine devam ettirilmesidir. Bir başlangıç değeri seçilir, koşul belirtilir ve değişim de belirlenir.

For yapısının genel yapısı aşağıdaki gibidir:

for(başlangıç değeri; koşul; değişim)
{
//kodlar..
}

PHP For Döngüsü Örnekleri

PHP programlama dilinde for döngüsünün kurulmasına dair 2 örnek aşağıdaki gibidir:

Örnek 1: 1’den 200’e kadar olan sayıların alt alta ekrana yazdırılması

PHP programlama dilinde değişken tanımlamada “$” işareti kullanılır. Değişken tanımlanırken herhangi bir komut kullanılmamaktadır. Bundan dolayı değişken tanımlandığı yerde değeri verilmektedir.

Örneğin For döngüsünde uyuglanması ise şöyledir:

Örnek 1:

<?php
$number= 200;
for($i = 1; $i<=$number;$i++)
{
echo $i."</br>" //
}
?>

PHP’de ekrana yazdırmak için echo komutu kullanılır. Konunun başında da belirtildiği üzere PHP, içerisine HTML kodların gömüldüğü bir programlama dilidir. Php for döngüsü ile alt alta yazdırma için HTML’de sıkça karşılaşılan </br> etiketi kullanılmıştır.

Örnek 2: 1’den 200’e kadar olan sayılardan 3’e tam bölünebilenlerin listesini ekrana yazdırma

<?php

$number= 100;
for($i=1; $i<$number;$i++)

{

if($i % 3 == 0)

{

echo 
$i." ";

}

}

?>

Bu örnek bir koşula bağlı olduğundan dolayı if bloğu da kullanılmıştır. Koşul devam ettiği sürece for döngüsü içerisindeki kodlar çalışmasına devam eder ve koşul bittiğinde döngüden çıkılır.

For döngüsü içinde belirlediğiniz değişkeni örneğin 2şer 2şer arttırmak isterseniz 1’er arttırken kullandığımız $i++ yerine $i += 2 yazmanız gerekir. 2 sayısını farklı bir sayıyla değiştirerek de değişkeninizi farklı sayılarda da arttırabilirsiniz.

PHP Do While Döngüsü

Do while döngüsü, koşulun sonda olduğu ve işlemlerin en az bir kere, kurallar yanlış da olsa, çalıştığı döngüdür. Programlamada koşulun ne olduğuna bakmaksızın döngü en az bir kere çalışır. Sonrasında ise koşul yapısını kontrol ederek işlemlerin tekrar etmesini amaçlayan bir sistemdir. While döngüsünden tek farkı koşulun sonda tanımlanmasıdır.

do while döngüsünün genel yapısı aşağıdaki gibidir.

do
{
//kodlar
}
while(koşul);

PHP Do While Döngüsü Örnekleri

PHP do while örneği olarak 200’e kadar olan sayıların toplamını veren programı geliştirelim.

Örnek 1:

<?php
$counter= 0;

$sum= 0;

do
{

$counter= $counter+ 1;

$sum= $sum+ $counter;
}
while($counter<200);
echo $sum;
?>

Do while döngüsünde koşul yanlış olsa bile en az bir kere işlemin çalıştırıldığı bilgisini vermiştik. Bunla alakalı örnek olarak ise aşağıdaki gibidir:

Örnek 2:

<?php
$i = 10;


do
{

echo $i;

}
while($i>10);

?>

Örnekte $i değişkenine 10 değeri atanmıştır. Ancak koşulda $i değerinin 10’dan büyük olması durumunda ekrana bastırılmasını görüyoruz. Do while döngüsü olduğundan dolayı koşula kadar önce kodlar çalıştığından dolayı ilk döngüde ekrana 10 yazdırılır ancak koşula gireceğinden dolayı döngü kırılır.

Aynı işlem while döngüsünde yapıldığında ise öncelik olarak koşul çağrılacağı için ekrana hiç bir şey bastırılmaz.

PHP Foreach Döngüsü

PHP foreach döngüsü, metinsel veya sayısal dizi içerisinde yer alan verilerin sırayla değişkene atama işlemi gerçekleştirerek dizi içerisindeki elemanların hepsini sırayla listelemeye yarayan döngü yapısıdır.

PHP’de foreach yapısı 2 yöntemle ele alınır.

Yöntem 1:

foreach ($array as $a) {
}

Yöntem 2:

foreach ($array as $key => $value)
{
 //kodlar
}

Foreach döngüsünde kullanılan koleksiyon dizi, array list, generic list gibi aynı tipleri içeren liste yapısı anlamına gelir.

Birinci yöntem kullaımında dizideki her bir eleman $a değişkenine atanır ve dizi sonlanana kadar döngü devam eder. İkinci yöntemde ise ilk kullanımdan farklı olarak dizinin indisi $key değişkenine, dizinin değeri ise $value değişkenine atanır.

PHP Foreach Döngüsü Örnekleri

PHP’de kullanılan her iki foreach döngü yöntemini birer örnekte anlatmak gerekirse:

İlk kullanıma göre dizideki elemanların foreach yapısı kullanılarak ekrana yazdırma örneği aşağıdaki gibidir:

Örnek 1:

<?php
$programmingLanguages= array('PHP', 'Java', 'C#', 'Python');
foreach( $programmingLanguages as $p ) {
echo $p.' ';

}

?>

İkinci kullanıma örnek ise;

Örnek 2:

<?php

$array = array("İsim" => "Ali", "Soyad" => "Kaya", "Şehir" => "İstanbul", "Yaş" => 24);

foreach ($array as $key => $value) {

echo "$key: $value ";

}

?>

Örneğe göre ekran çıktısı aşağıdaki gibi olacaktır:

Çıktı : İsim: Ali Soyad: Kaya Şehir: İstanbul Yaş : 24

PHP Döngüsü ile Tablo Oluşturma

HTML’de table etiketi kullanılarak istenen boyutlarda tablo tasarımı yapılabilir. Aynı işlem PHP kullanılarak da gerçekleştirilebilir. PHP döngüsü ile tablo oluşturma işlemi iç içe for döngüsü ile gerçekleştirilebilir. Satır ve sütun mantığı olacağından dolayı iç içe döngüler bu aşamada ele alınacaktır.

PHP’de döngü kullanarak tablo oluşturma örneği aşağıdaki gibidir:

<table>


<?php

$rowCount = 10;

$columnsCount = 5;
for ($i = 1 ; $i <= $rowCount; $i++)

{

echo "<tr>";

for ($j = 1 ; $j <= $columnCount; $j++)

{

echo "<td>row $i columns $j</td>";

}

echo "</tr>";

}

?>

</table>

Bu örnekte de olduğu gibi PHP programlama dili içerisinde HTML yapısı gömülerek döngü yardımıyla tablo yapısı oluşturulmuştur.

PHP İç İçe Döngü Oluşturma

Tablo yapısında olduğu gibi birçok yerde iç içe döngüler kullanılması gerekebilir. Bir döngü bir dönüşümünü tamamlamadan alt döngülere geçmek isteniyorsa iç içe döngü yapısı kurulmalıdır.

İç içe döngüler konusunda en sık karşılaşılan örneklerden biri çarpım tablosu örneğidir. PHP’de çarpım tablosu iç içe for döngüsü kullanarak aşağıdaki gibi ele alınabilir:

PHP Çarpım Tablosu Yapımı Örneği

<?php
for($i=1; $i<=10; $i++)
{
for ($j=1;$j<=10; $j++)
{
echo $i."x".$j."=".$i*$j."<br>";
}
}
?>

İç içe döngülere bir örnek ise alt alta sayıların yazdırılmasıdır.

Örnek 2:

<?php
for($i=1; $i<5; $i++)
{
echo "i = ". $i." ";
for($j=1;$j<10;$j++)
{
echo "j = ".$j;
}
}
?>

Bu örnekte önce i = 1 için j 10’a kadar yazılır sonra i birer artırılarak döngü devam eder.

Üçüncü örnek olarak ise ikinci örneğe benzer şekilde, bir lisedeki sınıf ve şubeleri listeleyen döngü kuralım. 9. sınıftan 12. sınıfa kadar olan sınıfların A – B ve C şubesi olduğu düşünüldüğünde aşağıdaki kod bize sonucu verecektir.

Örnek 3:

<?php
for($i=9;$i<=12;$i++)
{
for($j='A';$j<='C';$j++)
{
echo $i." - ".$j." ";
}
}
?>

Çıktı :9 – A 9 – B 9 -C 10 – A 10 – B 10 – C 11 – A 11 – B 11 – C 12 – A 12 – B 12 – C

İç içe döngüler, tekrarlayan işlemlerin yine tekrar edilmesi istendiğinde kullanılmaktadır. İçteki döngüler dıştaki döngülerle aynı olmayabilir. Buna aşağıdaki örnek verilebilir:

Örnek 4:

<?php
$i = 0;
while($i<5)
{
$i++;

echo "i : ".$i;
echo " ";
for($j=1;$j<=5;$j++)
{
echo "sonuç : ".$i*$j;
echo " ";
}

}
?>

Örnekte $i değişkeni 5’ten küçük olduğu sürece i ile j değişkenlerinin çarpım sonuçları ekrana bastırılmaktadır. İç döngüde ise j değişkeni 1’den 5’e kadar devam etmektedir.

PHP Sonsuz Döngü Nedir?

Sonsuz döngü, bir koşulun asla yanlış olmadığı sürece devam eden ve sonsuz hale gelen döngü biçimidir. Sonsuz döngü için en çok for döngüsü kullanılsa da diğer döngü türleri de tercih edilebilir. For döngüsünde şart kısmı boş bırakılarak sonsuz döngü elde edilebilir. Örnek olarak :

Örnek 1:

<?php
for(;;)
{
echo "Sonsuz döngü..."
}
?>

Çıktı olarak “Sonsuz döngü…” sürekli yazmaya devam edecektir.

Sonsuz döngü yapılarında koşula bağlı olarak döngüden çıkılabilir.

PHP’de Döngüden Çıkma: Break Kullanımı

<?php
$i = 1;
for (; ; ) {
if ($i > 100) {
break;
}
echo $i;
$i++;
}
?>

Örnekte görüldüğü üzere i değeri 100 değerini geçtiğinde break yapısı devreye girmekte ve döngüyü kırmaktadır. Çıktı olarak ekrana 1’den 100’e kadar olan sayılar yazılır.

Aynı örneğin PHP do while yapısı ise aşağıdaki gibidir:

$i = 1;
do {
if ($i > 100) {
break;
}
echo $i;
$i++;
}while(true);
?>

Do while yapısında sonsuz döngüyü kurmak için true ifadesi kullanılır.

PHP’de Döngüler Hakkında Bilinmesi Gerekenler

For, while, do while ve foreach döngüleri temelde aynı işlemin defalarca yazılmasını engeller. Yerine ya bir koşula bağlı olmak üzere ya da koşul sağlandığı sürece işlemleri bir döngüde gerçekleştiren yapılardır.

Programın daha hızlı çalışması, kod kalitesinin artırılması için tercih edilen bu yöntemler sayesinde yüksek verimlilik alınabilir. PHP’de döngüler hakkında bilinmesi gerekenler genel olarak bunlardır. Örnek sayıları daha da artırılabilir.

Kategoriler PHP

Yorum yapın