[PHP]True of False kiezer aan de hand van %'en
Kan iemand mij uitleggen hoe ik in PHP een script kan ontwerpen wat als output 'true' of 'false' geeft, en de keuze maakt aan de hand van een aangegeven percentage?
Het is de bedoeling dat ik bijvoorbeeld opgeef 15%, dat de kans dat het script 'true' geeft 15% is, en dat de kans dat het script 'false' geeft 85% is.
Heeft iemand enig idee of dit mogelijk is en zo ja, hoe??
Bedankt alvast, SAplayer ;)
Gebruik intval() :-)
Code (php)
er moet eigenlijk wel een check bij of $procent niet kleiner dan nul of groter dan honderd is.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Dit heb ik bedacht ik heb geen idee of het werkt maar je kan het proberen
EDIT: Veel te laat en te ingewikkelt ;)
Gewijzigd op 20/01/2006 20:23:00 door Han eev
Hee, nu is die van mij weer korter ;-)
Jah je hebt gelijk, af en toe denk ik te moeilijk ;)
Jan:
Hee, bedankt!, die zocht ik =)
EDIT:
Code (php)
makkelijker =)
Gewijzigd op 20/01/2006 20:29:00 door PurpleMadness -
hmm, ik krijg bij beide scripts niets terug, maar wat moet ik met die return dinge, want die late volgens mij niets zien...(sorry, kom die functie nu voor het eerst tegen)
Code (php)
Dat kijkt of hij met 50% kans wint ;)
Wel eerst functie declareren!
Gewijzigd op 20/01/2006 20:35:00 door PurpleMadness -
Ik snap de return functie, bij dat korte script krijg k een error, en bij dat lange script een '1' :S
en 1 staat voor 'true' (niets, leeg dus, voor 'false'). Dat je het even weet.
"Parse error: parse error, unexpected T_DOUBLE_ARROW in /home/Sinclair/domains/tunedsinclair.nl/public_html/tsc/test2.php on line 4"
hmmm, het werkt opzich wel, maar als ik 100 invoer (zonder % erachter) is het antwoord lang niet altijd 1. :S
Ik zal er nog eens naar kijken.
Code (php)
Hij is zelfs nog iets simpeler geworden ;-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
error_reporting(E_ALL);
// true of false random
function bool_rand($procent)
{
if ($procent >= 0 && $procent <= 100) {
$toeval = mt_rand(0, 100);
return $toeval <= $procent;
} else {
return false;
}
}
$testpercentage = 100;
$true = 0;
$false = 0;
for ($i = 0; $i < 20000; $i++) {
if (bool_rand($testpercentage)) {
$true++;
} else {
$false++;
}
}
echo '<hr>';
echo '<p>Waarde: ' . $testpercentage . ' %</p>';
echo '<p>True: ' . $true . '</p>';
echo '<p>False: ' . $false . '</p>';
?>
error_reporting(E_ALL);
// true of false random
function bool_rand($procent)
{
if ($procent >= 0 && $procent <= 100) {
$toeval = mt_rand(0, 100);
return $toeval <= $procent;
} else {
return false;
}
}
$testpercentage = 100;
$true = 0;
$false = 0;
for ($i = 0; $i < 20000; $i++) {
if (bool_rand($testpercentage)) {
$true++;
} else {
$false++;
}
}
echo '<hr>';
echo '<p>Waarde: ' . $testpercentage . ' %</p>';
echo '<p>True: ' . $true . '</p>';
echo '<p>False: ' . $false . '</p>';
?>