Php Döngüler – Not On

Bir daha bu hatayı yapmayacağım.

Bir daha bu hatayı yapmayacağım.

Bir daha bu hatayı yapmayacağım.

Bir daha bu hatayı yapmayacağım.

Eminim ki bu cümleyi sonsuza kadar söyleyeceğiz, en azından ben söyleyeceğim gibi. Ben de karar verdim. Yedek bilgisayarımı aşağıdaki kodu yazdım ve çalıştırdım. Ve sonsuza kadar çalışmaya devam edecek ve ben bu sözü söylemek istediğimde bilgisayarıma bakacağım.

<?php
	
	while(1)
		echo "Bir daha bu hatayı yapmayacağım.";
	
?>

Bu kodda while sonsuz döngüye girmiştir. Bundan dolayı ekrana “Bir daha bu hatayı yapmayacağım.” ‘ı sonsuza kadar yazdıracaktır. Ama muhtemelen bunu çalıştırdığınızda göremeyeceksiniz.

Anlayacağınız üzere döngülere geldik bu notumuzda. Şimdi while döngüsünün yapısına bakalım.

while(koşul)

{ yapılacaklar. }

while döngüsünü koşul olarak girilen durum doğru olduğu sürece köşeli parantez içerisinde yazılı olan kodlar gerçekleşecektir. Örnek olarak ekrana 1 den 4’e kadar sayıları yazdıran kodu yazalım.

<?php
	$sayi = 1;
	while($sayi<5)
	{
		echo "Sayi: ". $sayi++. "<br>";
	}
?>

Ekran çıktısı

Sayi: 1
Sayi: 2
Sayi: 3
Sayi: 4

while döngüsüne benzer olarak bir de do.. while döngüsü vardır. Bu döngüyü şöyle anlatalım.

Bir kişiyle arkadaşlığımızı devam ettirmek için bir derecelendirme yaptığımızı varsayalım. 5 derece ve üstü kişilerle arkadaşlık yaparım diyelim. Ve ilerleyen zamanlarda bu dereceye göre arkadaşlığımızı devam ettirelim diyelim.

+ Ne saçma örnekleme. Kafa karıştıracaksın bence.

Olsun. Aklıma bu örnek geldi. Değiştiremem kafam iyi değil. Bu örnek üzerinden devam edelim siz bakmayın ona.

Bunu while döngüsü ile yapmaya çalışalım. Koşulumuz neydi derece 5 ve üzeri ise arkadaşlığımızı yapabiliriz. Yani while içindeki kodları çalıştırabiliriz.

while(derece>5) { echo “arkadaşlığa devam”;} yazabiliriz. Ama bakarsanız döngüye ilk girdiğimizde bir derece vermiş olacağız. Yani görünüşüne göre ön yargılı bir karar vermiş olacağız.

Biz buna karşıyız bundan dolayı bunla yapamayız. Bunu yapabilmek için do while döngüsünü kullanmak en mantıklı karar olacaktır.

<?php
	$derece;
	do
	{
		$derece = derecelendirme();
		if($derece > 5)
			echo "Arkadaşlığımız çok güzel gidiyor.";
		else
			echo "Arkadaşlığımız bozuldu, artık konuşmayalım.";
	}while($derece > 5);
	
	function derecelendirme()
	{
		$arkadaslik = rand(1,10);
		return $arkadaslik;
	}
?>

do while döngüsünde her zaman bir defa do’nun içerisinde yer alan komutları gerçekleştirir. Gerçekleştirdikten sonra eğer while içerisinde koşul sağlanıyorsa tekrar çalıştırılmaya devam edilir. Yani üstteki komutta anlatılmak istenen, ilk olarak koşul bakılmaksızın do’nun içerisinde yer alan komutlar çalıştırılır. Bu komutlar nedir. Derecelendirme fonksiyonunu çalıştırıyor. ( Fonksiyonları oluşturmayı yakında anlatacağım. ) Bu fonksiyon tanıştıktan sonra derecelendirme yapmaktadır. Ve derece’ye atamaktadır. Daha sonra while içinde bu derece koşulu sağlıyorsa, yani arkadaşımız 10 üzerinden 5 aldıysa arkadaşlığımıza devam edip, tekrar döngüye geliyoruz. Devam ediyoruz taa ki arkadaşlığımız 10 üzerinden 5’in altına düşene kadar..

Become a patron at Patreon!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: