2017-05-21 5 views
0

ここでPHP初心者を5つのランダムな浮動小数点を生成し、それらを一緒に追加するコードを使用しようとしています。ただし、 "Can not Redeclare"エラーが表示されます。助けや提案はありますか?ありがとう!ランダムフロートを再宣言できませんエラー

function RandRoll($mod1, $mod2){ 

    $modCalc = 1.00 + $mod1 + $mod2; 
    echo "(" . $modCalc . ")"; 

    $RAND_MIN = $modCalc; 
    $RAND_MAX = 100.00; 


    function frand($min, $max, $decimals = 0) { 
     $scale = pow(10, $decimals); 
     return mt_rand($min * $scale, $max * $scale)/$scale; 
    } 

    $result = frand($RAND_MIN, $RAND_MAX, 2); 

    return $result; 
} 

$moda1 = 23.45; 
$moda2 = 17.21; 
$score1 = RandRoll($moda1, $moda2); 
$score2 = RandRoll($moda1, $moda2); 
$score3 = RandRoll($moda1, $moda2); 
$score4 = RandRoll($moda1, $moda2); 
$score5 = RandRoll($moda1, $moda2); 

echo $score1 + $score2 + $score3 + $score4 + $score5; 
+0

適切なインデントは、コードのデバッグに役立ちます – RiggsFolly

答えて

2

適切なインデントのヘルプあなたにデバッグコード

あなたが関数内の関数を宣言しているので、あなたが外側の関数を実行するたびに、あなたは

にコードを修正し、内部機能

を再宣言しようとし

function frand($min, $max, $decimals = 0) { 
     $scale = pow(10, $decimals); 
     return mt_rand($min * $scale, $max * $scale)/$scale; 
} 

function RandRoll($mod1, $mod2){ 

    $modCalc = 1.00 + $mod1 + $mod2; 
    echo "(" . $modCalc . ")"; 

    $RAND_MIN = $modCalc; 
    $RAND_MAX = 100.00; 

    $result = frand($RAND_MIN, $RAND_MAX, 2); 

    return $result; 
} 
+0

ありがとうございました!出来た! – Fireal

関連する問題