2012-01-30 2 views
0

Я думал, что у меня этот синтаксис прав, но, видимо, я этого не делаю ... вот что у меня есть.Как добавить значения в php?

/* Price Calculation */ 
    if ($stage="1") $price + 1000 = $price; 
    if ($stage="2") $price + 2500 = $price; 
    if ($stage="3") $price + 5000 = $price; 
    if ($chrome=on) $price + 100 = $price; 
    if ($bov=on) $price + 200 = $price; 
    if ($controller=on) $price + 500 = $price; 
    if ($filter=on) $price + 50 = $price; 
    print "<br /><u>Total: </u>"; 
    echo $price; 

Переменные уже объявлены правильно, поэтому я знаю, что это не так. У php есть проблема с = s. Что я сделал не так?

ответ

3

вы должны использовать == в состоянии

if ($stage="1") 

должен быть

if ($stage=="1") 

и добавление должно быть

$price = $price + 1000; 

Ваш код должен быть

<?php 

/* Price Calculation */ 
    if ($stage=="1") { 
     $price = $price + 1000; 
    } 
    if ($stage=="2") { 
     $price = $price + 2500; 
    } 
    if ($stage=="3") { 
     $price = $price + 5000; 
    } 
    if ($chrome==true) { 
     $price = $price + 100; 
    } 
    if ($bov==true) { 
     $price = $price + 200; 
    } 
    if ($controller==true) { 
     $price = $price + 500; 
    } 
    if ($filter==true) { 
     $price = $price + 50; 
    } 
    echo "<br /><u>Total: </u>"; 
    echo $price; 

?> 

Я не знаю, почему вы используете на. Я думаю, это булевское условие.

+0

он все еще говорит, что неожиданным "=" ... –

+0

Другая часть установил ее. У меня были равные обратные.Не могу поверить, что я пропустил это ... –

+0

@ JoshI, я обновил свой ответ – saturngod

0

Есть несколько проблем:

(1) Вы пытаетесь присвоить значение $price в $price + number, что невозможно. Попробуйте:

$price = $price + number; 

(2) Используйте оператор == для проверки равенства, как:

if ($stage == "1") 

Один = является назначение оператора.

0

Не должно быть $price = $price + 100; или $price += 100?

Кроме того, вы ошибаетесь в своем задании на проверку равенства. = никогда не означал равенства в php --- это означает назначение (подумайте об этом $price = $price + 100 не имеет смысла, это равенство). Чтобы проверить равенство, используйте == (проверьте свои условия).

1
if ($stage=="1") $price = $price + 1000; 
    if ($stage=="2") $price = $price + 2500; 
    if ($stage=="3") $price = $price + 5000; 
    if ($chrome==on) $price = $price + 100; 
    if ($bov==on) $price = $price + 200; 
    if ($controller==on) $price = $price + 500; 
    if ($filter==on) $price = $price + 50; 
    print "<br /><u>Total: </u>"; 
    echo $price; 
0

Вы должны изменить свой код:

if ($stage=="1") 
    $price = $price + 1000; 
if ($stage=="2") 
    $price = $price + 2500; 
if ($stage=="3") 
    $price = $price + 5000; 
if ($chrome==on) 
    $price = $price + 100; 
if ($bov==on) 
    $price = $price + 200; 
if ($controller==on) 
    $price = $price + 500; 
if ($filter==on) 
    $price = $price + 50; 

print "<br /><u>Total: </u>"; 
echo $price; 

Надеется, что это помогает :)

0

В дополнении к использованию == для сравнения (с = для назначения), рассмотреть вопрос о включении с помощью += operator для добавления значений в переменные. Кроме того, в то время как он работает, многие люди считают неправильной практикой пропустить ваши фигурные скобки.

if ($stage=="1") { 
    $price += 1000; 
    } 
    ... 
0
if ($stage=="1") $price += 1000; 
if ($stage=="2") $price += 2500; 
if ($stage=="3") $price += 5000; 

if ($chrome=="on") $price += 100; // if your want to use "on" instead of TRUE, use it as a string 
if ($bov=="on") $price += 200; 
if ($controller=="on") $price += 500; 
if ($filter=="on") $price += 50; 
echo "<br /><u>Total: </u>"; 
echo $price; 
Смежные вопросы