我有一个非常简单的php程序,我正在为我的计算机科学课工作,但是我遇到了一点麻烦。
<?php
$numOfCards = '50'; //$_POST['numOfCards'];
$totalCost = 0.00;
if (numOfCards == '20')
{
$totalCost = $numOfCards*3.00;
}
else if (numOfCards == '50')
{
$totalCost = $numOfCards*2.50;
}
else
{
$totalCost = $numOfCards*2.00;
}
echo "<p>TOTAL COST FOR ".$numOfCards." CARDS: $".$totalCost."</p>";
?>
正如您所看到的,我最初是从post数据中获得$ nummofcards值,但将其设置为50以证明一点。问题是,这段代码本来应该转到else if语句,但它却转到了else语句。这导致总成本等于100美元而不是125美元。
有人知道我做错了什么吗?由于
您的numOfCards
中似乎有两次缺少$
。
为了更容易地找到这些问题,在脚本上启用错误报告和警告:
error_reporting(-1);
ini_set('display_errors','On');
然后您将看到两条消息,解释您不是与变量(如您所愿)进行比较,而是与字符串"numOfCards"
进行比较。
您必须使用$numOfCards
而不是numOfCards
。
另外,你应该缩进代码块,最好每层缩进4个空格:
if ($numOfCards == '20') {
$totalCost = $numOfCards*3.00;
}
else if ($numOfCards == '50') {
$totalCost = $numOfCards*2.50;
}
else {
$totalCost = $numOfCards*2.00;
}
看起来您在变量名中缺少$
。
if (**$**numOfCards == '20')
http://ideone.com/Y89nu 你漏了一个$符号
代码应该是
$numOfCards = '50';
//$_POST['numOfCards'];
$totalCost = 0.00;
if ($numOfCards == '20')
{
$totalCost = $numOfCards*3.00;
}
else if ($numOfCards == '50')
{
$totalCost = $numOfCards*2.50;
}
else
{
$totalCost = $numOfCards*2.00;
}
echo "<p>TOTAL COST FOR ".$numOfCards." CARDS: $".$totalCost."</p>";