Big_Turk adlı üyeden alıntı: mesajı görüntüle
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>";
}
}