0

さて、ここに私のコードがあります:

function payCalc($hours, $wage, $overtime, $paycheck) {
if ($hours <= 40) {
    $paycheck = $hours * $wage;
}
else {
    $paycheck = $hours * $overtime;
}
return $paycheck;

}

$name = $_POST['name'];
$dept = $_POST['dept'];
$hours = $_POST['hours'];
$wage = $_POST['wage'];

$paycheck = payCalc($hours, $wage, $overtime, $paycheck);

$overTime = $wage * 1.5;
print "Your paycheck for this period is:"; 
print $paycheck; 
print ".";

問題は、$paycheck で未定義の変数エラーが発生し続けることです。私の知る限り、if/else を適切に設定していますが、返されません$paycheck。つまり、" print $paycheck;" 行では印刷できません。私は何が欠けていますか?

$name編集:これには他にもありますが、変数と変数を吐き出すのは行をエコーするだけ$deptです。

4

7 に答える 7

0

さて、あなたは実際にあなたの関数で変数「paycheck」を設定していません。

$ hours *$overtimeおよび$hours*$wageの前に変数$paycheckを設定します。

ただし、これらにアクセスする前に、パラメータとして設定する必要があります。

その場合、コードは次のようになります。

$name = $_POST['name'];
$dept = $_POST['dept'];
$hours = $_POST['hours'];
$wage = $_POST['wage'];

$overTime = $wage * 1.5;

function payCalc($hours, $wage, $overtime) {
    if ($hours <= 40) {
        $paycheck = $hours * $wage;
    }
    else {
        $paycheck = $hours * $overtime;
    }
    return $paycheck;
}

print "Your paycheck for this period is:"; 
print payCalc($hours, $wage, $overTime); 
print ".";

この関数は、ifステートメントとelseステートメント内に設定されている変数「paycheck」を返すようになりました。

これはあなたにとって意味がありますか?

一番、

ニコライ・ジェプセン

于 2013-02-18T09:46:41.090 に答える
0
/// COPY AND PASTE THE BELOW CODE

$paycheck = '';

$name = $_POST['name'];

$dept = $_POST['dept'];

$hours = $_POST['hours'];

$wage = $_POST['wage'];

$overTime = $wage * 1.5;

function payCalc($paycheck,$hours,$wage,$overTime) {

    if ($hours <= 40) {

       $paycheck = $hours * $wage;

    }

    else {

       $paycheck =  $hours * $overTime;

    }

    return $paycheck;

}


print "Your paycheck for this period is:"; 

print payCalc($paycheck,$hours,$wage,$overTime); 

print ".";
于 2013-02-18T09:49:22.107 に答える
-1

グローバル変数を参照するには、 globalキーワードを 使用する必要があります。

$paycheck = '';
$name = $_POST['name'];
$dept = $_POST['dept'];
$hours = $_POST['hours'];
$wage = $_POST['wage'];

$overTime = $wage * 1.5;

function payCalc() {
    global $hours, $wage, $overtime;
    $paycheck = 0;
    if ($hours <= 40) {
        $paycheck = $hours * $wage;
    }
    else {
        $paycheck = $hours * $overtime;
    }
    return $paycheck;
}


$paycheck = payCalc();
print "Your paycheck for this period is:"; 
print $paycheck; 
print ".";
于 2013-02-18T09:46:03.730 に答える