Merhaba Arkadaşlar başlık biraz karışık oldu ama yapacağım işlem için kafamın durduğu yerlerden birisindeyim aklımda birkaç fikir var ama el elden üstündür diyerek size sormak istedim. Senaryo şu;
Bir buton var ve butona her 100 tıklamada 30 kere EVET, 70 kere HAYIR yazısı çıkmasını istiyorum. Bu yüzde değerlerini değiştirebilmeliyim ama genel mantık bu şekilde nasıl bir yol izlenmeli ?
Cevaplar için teşekkürler.
Toplam kaç sonuç ve yüzde kaçının olumlu olduğunu girdiğinizde,
aşağıdaki kod tamamen rasgele olacak şekilde EVET-HAYIR demeye başlar.
Önce EVET biterse, rasgelelik biter hep HAYIR der taaa ki toplam sayıya erişene kadar.
Önce HAYIR biterse de EVET demeye başlar.
<?php
$yuzde = 30;
$toplam = 77;
$olumlu = round( $yuzde * $toplam / 100 );
$olumsuz = ( $toplam - $olumlu ) || 0;
for ($i=0; $i <= $toplam ; $i++)
{
$is = !! round( (float)rand() / (float)getrandmax() );
if( ( !! $is && $olumlu >= 1 ) || ( ! $is && $olumlu >= 1 && $olumsuz == 0 ) )
{
$olumlu--;
echo "EVET </br>";
}
elseif( ( ! $is && $olumsuz >= 1 ) || ( !! $is && $olumlu == 0 && $olumsuz >= 1 ) )
{
$olumsuz--;
echo "HAYIR </br>";
}
}
yüzdeyle filan uğraşmayım derseniz
<?php
$olumlu = 30;
$olumsuz = 70;
$toplam = ( $olumlu + $olumsuz ) || 0;
for ($i=0; $i <= $toplam ; $i++)
{
$is = !! round( (float)rand() / (float)getrandmax() );
if( ( !! $is && $olumlu >= 1 ) || ( ! $is && $olumlu >= 1 && $olumsuz == 0 ) )
{
$olumlu--;
echo "EVET </br>";
}
elseif( ( ! $is && $olumsuz >= 1 ) || ( !! $is && $olumlu == 0 && $olumsuz >= 1 ) )
{
$olumsuz--;
echo "HAYIR </br>";
}
}