2015-04-01 180 views
-1

即时学习PHP,我无法获得这段代码的工作,我刚刚开始进入php,并不能弄清楚这一点。在线验证器报告没有发现问题,但它为我设置了一个无限循环。有人能告诉我为什么$ eggUsage没有从$蛋中减去。php从变量中减去一个变量以获取值

谢谢:-)

<?php 

    $eggs = 12; 
    $eggUsage = 0; 

    while($eggs - $eggUsage > 0) { 
    $eggUsage = rand(0, 1, 2, 3, 4); 
    $eggs = $eggs - $eggUsage; 

    echo "You have {$eggs} left"; 
    } 

    if ($eggs < 4) { 
    $eggUsage = rand(0, 1, 2, 3, 4); 
    $eggs == $eggs - $eggUsage; 

    echo "You are almost out. BUY EGGS!"; 
    } 

    echo "<p>Congratulations, you are out of eggs.</p>" 
?> 
+0

'$ eggs = $ eggs - $ eggUsage;' – 2015-04-01 15:11:14

回答

0

rand()预计2个参数,你已经在你的代码中给出4。 尝试rand(0, 4)

此外,请不要忘记上次回显中的;,并且在线$eggs == $eggs - $eggsUsage中应该有一个小错误,该错误应该是=

这段代码工作完全正常对我来说:

$eggs = 12; 
    $eggUsage = 0; 

    while($eggs - $eggUsage > 0) { 
     $eggUsage = rand(0,4); 
     $eggs = $eggs - $eggUsage; 

     echo "You have {$eggs} left"; 
    } 

    if ($eggs < 4) { 
     $eggUsage = rand(0,4); 
     $eggs = $eggs - $eggUsage; 

     echo "You are almost out. BUY EGGS!"; 
    } 

    echo "<p>Congratulations, you are out of eggs.</p>" ; 
0

应该array_rand(0,1,2,3,4)从数组挑值,但作为数组包含数字从0到4,rand(0,4)是确定的。

+0

谢谢你们,这真的很有帮助:-) – 2015-04-01 16:55:45