Döngüler
"External/ dizini tüm projeleriniz için ortak dosya kullanımı sunar."
Döngüler o an da birden fazla sayıda kodun çalıştırılması gerektiği zamanlarda kullanılır. Bir erişim alanındaki kodun defalarca çalıştırılması gerekebilir. E-ticaret sitelerinde yer alan ürünlerin sıra ile listelenmesi döngü kullanımına bir örnektir. Hangi döngünün kullanılacağına ise ihtiyaçlara göre karar verilir. PHP programlama dilinde en çok kullanılan döngü yapıları aşağıdaki tabloda gösterilmiştir.
Döngü Çeştileri | |
foreach | foreach yapısı diziler üzerinde yineleme yapmayı kolaylaştırmaktadır. foreach yalnızca diziler ve object için kullanılabilir; farklı veri türünde veya tanımlanmamış bir değişken ile kullanmak istediğinizde hata verir. |
while | while döngüsü PHP'de yer alan en basit döngü türüdür. While döngüsünde koşul sağlandığı müddetçe döngü devam eder. |
for | for döngüsü, PHP'deki en karmaşık döngü yapısıdır. |
# Foreach
Foreach döngüsü sadece dizi ve objeler için kullanılabilir. 2 tür söz dizimi vardır;
Bir dizi özel tanımlanmamış anahtarlar içermiyorsa yani sadece değerlerden oluşuyorsa bu söz dizimi kullanılır.
foreach( $dizi as $deger )
{
# Kodlarınız
}
array|object | $dizi | Döngüye girecek dizi veya obje. |
int | $anahtar | Döngünün her dönüşünde dizinin ilgili değerinin sıra numarası. |
mixed | $deger | Döngünün her dönüşünde dizinin ilgili değeri. |
$sehirler = ['istanbul', 'izmir', 'ankara'];
foreach( $sehirler as $sehir )
{
echo $sehir . "<br>";
}
izmir
ankara
Bir dizi özel tanımlanmamış anahtarlar içeriyorsa yani anahtar ve değerler çiftlerinden oluşuyorsa bu söz dizimi kullanılır.
foreach( $dizi as $anahtar => $deger )
{
# Kodlarınız
}
array|object | $dizi | Döngüye girecek dizi veya obje. |
mixed | $anahtar | Döngünün her dönüşünde dizinin ilgili anahtarı. |
mixed | $deger | Döngünün her dönüşünde dizinin ilgili değeri. |
$sehirler = ['34' => 'istanbul', '35' => 'izmir', '06' => 'ankara'];
foreach( $sehirler as $plaka => $sehir )
{
echo $plaka . ":" . $sehir . "<br>";
}
35:izmir
06:ankara
Objelerde de kullanım mantığı aynen geçerlidir.
$sehirler =
[
(object) ['isim' => 'istanbul', 'plaka' => '34'],
(object) ['isim' => 'izmir' , 'plaka' => '35']
];
foreach( $sehirler as $sehir )
{
echo $sehir->isim. ":" . $sehir->plaka . "<br>";
}
35:izmir
# While
while döngüsü PHP'de yer alan en basit döngü türüdür.While deyiminin anlamı basittir. while deyimindeki $koşul true olduğu müddetçe etki alanındaki deyimleri PHP tekrar tekrar çalıştırır.
Aşağıdaki deyimde $koşul yerine bir gelen ifade true döndüğü sürece döngü dönmeye devam eder. Döngülerin koşullarında yapılan hatalar işlemin sonsuz döngüye girmesine neden olabilir.
while( $kosul )
{
# Kodlarınız
}
bool | $kosul | Koşul true olduğu sürece döngü dönmeye devam eder. |
$i = 1;
while( $i <= 3 )
{
echo $i . "<br>";
$i++;
}
2
3
$sayac = 1;
$deger = 'A';
while( $deger !== NULL )
{
echo $sayac . "<br>";
if( $sayac === 5 )
{
$deger = NULL;
}
$sayac++;
}
2
3
4
5
# For Döngüsü
For döngüsü hem foreach'ın hem de while döngüsünün yaptığı işlemi tek başına yapabilir. Ancak dizi ve objelerle çalışıyorsanız foreach döngüsü kullanmak işinizi çok daha kolaylaştıracaktır. For döngüsü while döngüsünün aksine sayma işlemini kendi içerisinde gerçekleştirir.
for( $baslangic; $kosul; $degisim )
{
# Kodlarınız
}
int | $baslangic | Sayma işleminin hangi sayıdan bağlanacağını belirtir. |
bool | $kosul | Koşul true olduğu sürece döngü dönmeye devam eder. |
int | $degisim | Döngünün her dönüşünde $baslangic değerinin kaçar kaçar artacağı veya azalacağı. |
for( $i = 1; $i <= 3; $i++ )
{
echo $i . "<br>";
}
2
3