18 Ağustos 2013 Pazar

PHP ile tekrarsız rastgele sayı üretme

Rasgele sayı üretme fonksiyonu ile sayı üretme esnasında aynı sayıları üretme ihtimali vardır. şayet ürettiğiniz sayıların birbirinden farklı olması ile ilgili bir zorunluluğunuz varsa sayı üretme esnasında bunu kontrol etmeniz gerekir. Örneğimizde 6 adet sayı üretilecek isterseniz sayı adedini değiştire bilir yada kaç sayı üretilmesi gerektiğini kullnıcıdan form aracılığı ile alabilirsiz.
Sorunun çözümünde while döngüsü kullandık. Aynı örneği for döngüsü yada do while döngüsü ile de yapabilirsiniz. Gerekli açıklamalara program kodları içinde yer verilmiştir.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$sayilar[]="";
$i=0;
$kac_sayi_uretilecek=6;
while($i<$kac_sayi_uretilecek)
{
$rastgele=rand(1,49); // 1 ile 49 arası sayi uretiyoruz
    if (in_array($rastgele,$sayilar)) // uretilen sayi dizide varmi?
    {continue;} // varsa döngüye devam
    else //yoksa
    {$sayilar[]=$rastgele; //rastgele sayiyi sayilar diznine atiyoruz
    $i++;
    }
}
foreach ($sayilar as $sayilar_ekrana) //bu yapı dizinin tüm elemanlarını gösterir.
echo $sayilar_ekrana."<br>";
?>

Alıntıdır...

Hiç yorum yok:

Yorum Gönder