Bazı cumartesi günleri sayısal loto oynuyorum,benim yerime tahminde bulunacak ufak bir sayısal loto scripti yazmak istemiştim.

Elbette oynarken sayı uydurmaktan basit birşey yok ama kararsızlık ve tembellik sanırım:) (aynı zamanda pratik yapmak için bir neden)

basit olarak telefonumdan ulaşabileceğim sadece 6 rastgele sayı üretecek bir kod olacaktı,mobil erişim istediğimden javascript ile değil PHP ile programlayacaktım.

Başlamadan öncede google’da hazır var mı diye araştırdım,çeşitli fikirler bazen verimli yollar bulmamı sağlıyor, nitekim bu çalışmada da böyle oldu.

Google aracılığı ile ulaştığım sitelerde gördüğüm çok uzun ve gereksiz kodlar kullanılmış olması ve birkaç kodun altında “dikkat siteyi yavaşlatabilir” uyarısı verilmesiydi
Bunun olmasının nedeni, 1′den 49′a kadar rastgele bir sayı ürettiğinde sonraki sayılar için aynı sayı gelme olasılığını birden fazla gereksiz döngülerle kontrol ettirmeleriydi.

Elbette bu bir kodlama hatası!
PHP’deki faydalı Array özelliği yerine devamlı döngüler ve değişkenler kullandıklarından bu sorunla karşılaşılmıştı.
Bunun üzerine aşağıdaki şekilde oluşturdum…

while (count($dizi)<6){
$dizi[]=rand(1,49);
$dizi=array_unique($dizi);
	}
sort($dizi);

Kurduğum döngüye göre,6 sayı üretildiğinde döngü duracak.Bu kodda görülen array_unique fonksiyonu aynı sayıdan iki kez üretildiğinde birini yok ediyor, dolayisiyle 6 sayıya ulaşabilmek için birbirinden farklı 6 sayı üretene kadar döngü devam ediyor,ancak yukarıda bahsettiğim şekilde site yavaşlamıyor.

Sayfaya yazdırmak için küçük bir döngü (bu kısım isteğe kalmış)

foreach ($dizi as $key => $value) {
echo "$value\n";
}

Bu kadar!

Güle güle kullanın...İyi şanslar

Not:Yaptım ama sonrasında sayısal loto oynarken hiç kullanmadım :)

Be Sociable, Share!