PHPYazılım

PHP Dersleri #23 – goto Deyimi ve Kullanımı

kodportali.comPHP derslerine kaldığı yerden tüm hızıyla goto deyimi ile devam ediyoruz.

Minik Bir Mizah İle Giriş Yapalım

goto

Çevirisi:

Program akışını yapılandırabilir ya da yerine küçük bir goto kullanırım.

Görsel php.net ‘den alınmışdır.

goto Deyimi Nedir ve Nasıl Kullanılır?

goto deyimi bir yerden başka komuta/satıra atlamak için kullanılır. Çok seviyeli break kullanmak yerine goto deyimi kullanılır. Deyim için belirttiğiniz durağa, goto deyimi ile atlayabilirsiniz fakat bu deyiminin sınırsız olduğu anlamına gelmez. Hedef belirttiğimiz yer aynı dosya ve bağlam içinde olması gerekir, yani bir işlev veya yöntemin dışına atlayamayacağınız gibi bir başka işlev veya yöntemin içine de atlayamazsınız. Aynı zamanda for, foreach gibi döngüler içine atlayamayacağınız gibi switch içinede atlayamazsınız onun dışında her yere atlayabilirsiniz.

Kullanımı ve Örnekleri

Örnek bir goto deyimi kullanımı;

echo "Selam 1" . PHP_EOL;

goto SELAM_4;
echo "Selam 2" . PHP_EOL;

echo "Selam 3" . PHP_EOL;

SELAM_4:
echo "Selam 4" . PHP_EOL;

echo "Selam 5" . PHP_EOL;

Kodun çıktısı;

Selam 1
Selam 4
Selam 5

SELAM_4: ile belirttiğimiz bir durakdı. Gördüğünüz üzere Selam 1 yazdırdıktan sonra kodun direk Selam 4 yazdırdığı kısma geçdik. Aralarda bulunan Selam 2 ve Selam 3 yazılarının bulunduğu kısmı doğrudan atlamış olduk. Örnekler ile devam edelim.

for($i = 0; $i < 10; $i++){
    if($i == 2){
        goto example;
    }
}

echo "i == $i";
example:
echo "i == 2";

Burdaki örneğimizde ise for döngüsü içinde bir $i değişkeni belirledik ve 10’dan küçük olana kadar çalışsın deyip her çalışdığında $i değişkenini arttırsın dedik ve eğer $i değişkeni 2’ye eşit ise example adındaki durağımıza gitsin dedik. Kodumuzu çalıştırdığımız zaman ekran çıktımız i == 2 olucaktır i == $i kısmı es geçilecektir.

for($i=0, $e=50; $i < 100; $i++){
    while($e--){
      if($e==17) goto end;
    }
  }

echo "i = $i";
end:
echo 'e hit 17';

Kodun çıktısı;

e hit 17

Burada eğer $e değişkenimiz 17 ‘ye eşit ise direk durağa atlayıp döngünün içinden çıkıp direk yazdırmasını istedik. Ve gördüğünüz üzere bir tek e hit 17 yazdırıldı. Bir de yanlış, koyulmaması gereken yerde kullanılan şekilde bir örnek gösterelim.

goto loop;
for($i=0,$j=50; $i<100; $i++){
  while($j--){
    loop:
  }
}
echo "$i = $i";

Eğer kodumuzu çalıştırırsak PHP bize ‘Fatal error: ‘goto’ into loop or switch statement is disallowed in script on line 2‘ diyecektir. Bunun sebebi bir döngünün içine atlamaya çalışmamızdır. Örneğimizde bir for döngüsünün içine atlamaya çalışdık. Bu tür kullanımlarda hata alırsınız dikkat edin.

Evet bu dersimizinde burada sonuna geldik. Herhangi bir sorunuz olursa yorumlarda sorabilirsiniz.

Sitemizdeki tüm PHP dersleri için buraya tıklayabilirsiniz.

Oylamak için tıklayınız :
[Toplam: 0 Puan: 0]
Etiketler

İlgili Makaleler

Bir cevap yazın

Başa dön tuşu
Kapalı

Reklam Engelleyici Algılandı !

Reklam engelleyiciyi kapatarak bize destek olabilirsiniz..