2015-02-26 3 views
0

Получение ошибки undefined variable: pay.PHP Неопределенная переменная Qk Fix

Он по-прежнему выдает сумму зарплаты ... Я просто хочу, чтобы уведомление ушло. Обеспечить новый код, если какой-нибудь пожалуйста :)

$hours = (int) $_GET["hours"]; 
$wages = (int) $_GET["wage"]; 

$overtime = max($hours - 40, 0); 
$pay += $overtime * $wages * 1.5; 
$pay += ($hours - $overtime) * $wages; 

echo "Hours Worked: " . $hours . "<br>"; 
echo "Pay rate (per hour): $" . number_format($wages, 2) . "<br>"; 
echo "Overtime Hours: " . $overtime . "<br>"; 
echo "Your Paycheck is: $" . number_format($pay, 2) . "<br>"; 

Если вам нужно больше информации, чем то, что я предоставить, пожалуйста, дайте мне знать. Я не думаю, что мне нужно опубликовать материал html и т. Д. Еще раз спасибо!

+0

возможно дубликат [PHP: "Notice: Undefined переменной" и "Notice: Undefined индекс"] (http://stackoverflow.com/questions/4261133/php-notice-undefined-variable и-уведомление-неопределенный-индекс) – Rizier123

ответ

1

Либо инициализировать, например, $pay = 0; над назначением +=, либо изменить первый на =. Например:

$overtime = max($hours - 40, 0); 
$pay = $overtime * $wages * 1.5; // <--- change += to = 
$pay += ($hours - $overtime) * $wages; 

Причина вы получили ошибку потому, что оператор += означает «добавить значение на право стоимости существующей переменной на левой, а затем присвоить сумму к переменной на .. влево так, что $pay переменной необходимо инициализировать первый использовать оператор +=

0

Добавьте эту строку (неопределенная переменная возникает из-за $ платить не inicialized):

$pay = 0; 

после:

$hours = (int) $_GET["hours"]; 
$wages = (int) $_GET["wage"]; 
Смежные вопросы