login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Variabele rekensom (Opgelost)

Offline Dark_Paul - 11/11/2007 17:31
Avatar van Dark_PaulPHP ver gevorderde Beste mensen,

Ik ben een functie aan het schrijven om een willekeurige rekensom te genereren.
De som (bijv. 1+1) met het bijbehorende antwoord (2 dus) zet ik dan in een array en return ik.
Het eerste getal wordt willekeurig bepaald en de operator wordt ook willekeurig gekozen ('*' of '+').
Nu kom ik met het probleem dat ik het antwoord wil uitrekenen, maar omdat de operator als 'string' wordt gezien kan ik het niet zomaar uitrekenen.
Ik heb al naar verschillende dingen gekeken (en geprobeerd), als (int), settype() en vanalles.
De functie nu (er staat nu dus niets speciaals meer bij $iAnswer):
  1. function createCaptcha() {
  2. $aOperators = array('+', '*');
  3. $iRandOp = rand(0, count($aOperators)-1);
  4. $sRandOp = $aOperators[$iRandOp];
  5. $iRand1 = ceil(rand(1,3));
  6. $iRand2 = ceil(rand(1,3));
  7. $iAnswer = $iRand1.$sRandOp.$iRand2;
  8. $sQuest = $iRand1.$sRandOp.$iRand2;
  9. $aRet = array($sQuest, $iAnswer);
  10. return $aRet;
  11. }


$sQuest klopt nu dus, maar het antwoord daarvan wil ik opslaan in $iAnswer.

2 antwoorden

Gesponsorde links
Offline Rik - 11/11/2007 17:37
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Met PHP.net: eval:
  1. $iAnswer = eval('return $iRand1' . $sRandOp . '$iRand2;');
Offline Dark_Paul - 11/11/2007 17:58
Avatar van Dark_Paul PHP ver gevorderde Oké, bedankt Boukefalos!
Dat werkt dus!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s