Je hebt % kans

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom aan t Goor

Tom aan t Goor

01/09/2011 09:45:59
Quote Anchor link
Ik wil de variabele $kans een getal geven: bijv. 75.

Nu wil ik dat je vervolgens 75% kan hebt, dat hij iets uitvoert, en anders (...).

Is hier een code voor? (geen random!)
 
PHP hulp

PHP hulp

25/04/2024 16:00:24
 
Jacco Brandt

Jacco Brandt

01/09/2011 09:48:51
Quote Anchor link
Het enige dat ik kan bedenken is toch echt random :P
if (rand(1, 100) == $kans) {
 
Tom aan t Goor

Tom aan t Goor

01/09/2011 09:49:55
Quote Anchor link
Jacco, in dit geval heb je altijd 1% kans?
 
Jacco Brandt

Jacco Brandt

01/09/2011 09:54:32
Quote Anchor link
Oh wacht, mijn fout.
if (rand(1, 100) <= $kans) {
Gewijzigd op 01/09/2011 09:55:02 door Jacco Brandt
 
Maikel  B

Maikel B

01/09/2011 09:55:11
Quote Anchor link
Als je het niet random wilt, waar wil je het dan op baseren?
 
Jacco Brandt

Jacco Brandt

01/09/2011 09:56:21
Quote Anchor link
Precies, het idee van een kans is toch dat het wél of niet kan zijn, en dat dit niet van te voren te voorspellen is?
 
Tom aan t Goor

Tom aan t Goor

01/09/2011 09:59:38
Quote Anchor link
Daar hebben jullie gelijk in.
Maar aangezien er om de $kans, ook nog meerdere formules zitten, denk ik, misschien is het ook wel makkelijker mogelijk.
 
Vincent Huisman

Vincent Huisman

01/09/2011 10:04:22
Quote Anchor link
wat is hier niet makkelijk aan?
 
Tom aan t Goor

Tom aan t Goor

01/09/2011 10:07:38
Quote Anchor link
Dit is toch iets ingewikkelder dan ik dacht(
if($kans %){
..
}else{
..
}


(zo iets, gewoon if( procent kans){...
 
Jacco Brandt

Jacco Brandt

01/09/2011 10:09:29
Quote Anchor link
Dit is toch doodsimpel,
if (rand(1, 100) <= $kans) {
...
}else{
..
}
 
Vincent Huisman

Vincent Huisman

01/09/2011 10:09:31
Quote Anchor link
leg eens precies uit wat je hebt en wat je wilt
 
Tom aan t Goor

Tom aan t Goor

01/09/2011 10:13:08
Quote Anchor link
Jacco, het is inderdaad doodsimpel, alleen als je verwacht dat je gewoon met een % teken kan werken, is een random toch iets meer.

Vincent, ik had nog niks, het werkt wel goed met random maar ik had het anders verwacht.
 
Maikel  B

Maikel B

01/09/2011 10:16:22
Quote Anchor link
als je rand(1,100) doet is het toch hetzelfde als dat je 1% tot 100% hebt :P
Waarom wil je met een % teken werken?
 
Tom aan t Goor

Tom aan t Goor

01/09/2011 10:30:20
Quote Anchor link
Maikel ik heb geen idee.
Misschien wel omdat ik het met random toch nog meer gewoon random vind, dan dat het in % is.

Ik heb echt geen idee.
 
Jacco Brandt

Jacco Brandt

01/09/2011 10:31:38
Quote Anchor link
Een % is een modulus-operator, en heeft niets te maken met procenten in php.
 
Maikel  B

Maikel B

01/09/2011 10:39:29
Quote Anchor link
als je dit doet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$kans
= rand(1,100)."%";

echo $kans;
?>


dan zie je gewoon een random getal van 1-100 met een % teken erachter?
Dus wat is nu eigenlijk het probleem? :p
 
Jacco Brandt

Jacco Brandt

01/09/2011 10:50:24
Quote Anchor link
Dan kun je hem niet meer gebruiken in het if-statement.
 
Maikel  B

Maikel B

01/09/2011 11:01:43
Quote Anchor link
Als jij per se een % teken erachter wilt kan dat wel hoor.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$kans
= rand(1,100)."%";

if ($kans == "75%") {
    echo "De kans is 75%";
}
else {
    echo "De kans is ongelijk is 75%";
}

?>


Maar ik moet er wel bij zeggen dat dit een hele onhandige manier is van werken
Gewijzigd op 01/09/2011 11:02:16 door Maikel B
 
Jacco Brandt

Jacco Brandt

01/09/2011 11:13:43
Quote Anchor link
Hij wil ook nog een vergelijking doen dat de eerste if 75% kans heeft van slagen, en de else dan 25.
Deze if:
if (rand(1, 100) <= $kans) {
werkt niet als $kans een string is.
 
Maikel  B

Maikel B

01/09/2011 11:16:32
Quote Anchor link
Nee klopt.
Daarom zei ik al dat het een onhandige manier van werken is om er per se een % teken bij te willen.
 
Ruben Vanhoeyveld

Ruben Vanhoeyveld

01/09/2011 12:27:16
Quote Anchor link
Het kan ook anders...

Als je wilt zien of iets deelbaar is door 3, gebruik je:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($var%3 == 0) {
    //Dit komt overeen met 1/3, dus 33,3% van de gevallen...
}
?>


Dit was voor 33.3% van de gevallen... Voor je 75% zou je eens moeten zien of $var%1,3333333 werkt.. Dit zou moeten neerkomen op een afgeronde 75% (1/1.3333333 = 3/4 = 75%)

Anders ook met een random getal...

Toevoeging op 01/09/2011 12:30:28:

Maikel B op 01/09/2011 11:01:43:
Als jij per se een % teken erachter wilt kan dat wel hoor.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$kans
= rand(1,100)."%";

if ($kans == "75%") {
    echo "De kans is 75%";
}
else {
    echo "De kans is ongelijk is 75%";
}

?>


Maar ik moet er wel bij zeggen dat dit een hele onhandige manier is van werken


Maikel B, in dit geval heb je 1% kans op slagen (enkel wanneer $kans gelijk is aan "75%" en dat is maar in 1 geval op 100), geen 75%...

Doe toch gewoon dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$rand
= rand(1,100);

if($rand <= 75){
    // hiervoor had je 75% kans
    echo 'Je random getal was '.$rand.'%';
}
else{
    // hiervoor had je 25% kans
    echo 'Je random getal was '.$rand.'%';
}

?>
Gewijzigd op 01/09/2011 12:32:37 door Ruben Vanhoeyveld
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.