php if elseif语句问题

php if elseif语句问题,php,http-post,if-statement,Php,Http Post,If Statement,我有一个非常简单的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 { $totalCo

我有一个非常简单的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数据中获取$numocards的值,但为了证明这一点,我将其设置为50。问题是,这段代码本来应该转到elseif语句,但它将转到else语句。这导致总成本等于100美元,而不是125美元

有人知道我做错了什么吗?
谢谢

您的
$
明信片两次丢失了
$

为了更容易发现这些问题,请在脚本顶部启用错误报告和警告:

error_reporting(-1);
ini_set('display_errors','On');

然后,您将看到两条消息,说明与字符串
“numocards”

相比,您似乎在
numocards
中两次缺少
$
,而不是与变量进行比较(如您所愿)

为了更容易发现这些问题,请在脚本顶部启用错误报告和警告:

error_reporting(-1);
ini_set('display_errors','On');

然后,您将看到两条消息,说明与字符串
“numocards”

相比,您似乎缺少变量名称中的
$
,而不是与变量进行比较(如您所愿)

if (**$**numOfCards == '20')

看起来变量名中缺少了
$

if (**$**numOfCards == '20')

您必须使用
$numocards
而不仅仅是
numocards

此外,您应该缩进代码块,最好每级4个空格:

if ($numOfCards == '20') {
    $totalCost = $numOfCards*3.00;
}
else if ($numOfCards == '50') {
    $totalCost = $numOfCards*2.50;
}
else {
    $totalCost = $numOfCards*2.00;
}

您必须使用
$numocards
,而不仅仅是
numocards

此外,您应该缩进代码块,最好每级4个空格:

if ($numOfCards == '20') {
    $totalCost = $numOfCards*3.00;
}
else if ($numOfCards == '50') {
    $totalCost = $numOfCards*2.50;
}
else {
    $totalCost = $numOfCards*2.00;
}

是的,你错过了一个$sign

代码应该是

$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>"; 
$numocards='50';
//$_POST['numocards'];
$totalCost=0.00;
如果($numocards=='20')
{     
$totalCost=$numocards*3.00;
} 
else if($numocards=='50')
{     
$totalCost=$numocards*2.50;
} 
其他的
{     
$totalCost=$numocards*2.00;
}  
echo“卡的总成本:$”$totalCost.

”;
是的,您错过了$sign

代码应该是

$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>"; 
$numocards='50';
//$_POST['numocards'];
$totalCost=0.00;
如果($numocards=='20')
{     
$totalCost=$numocards*3.00;
} 
else if($numocards=='50')
{     
$totalCost=$numocards*2.50;
} 
其他的
{     
$totalCost=$numocards*2.00;
}  
echo“卡的总成本:$”$totalCost.

”;
好奇:CW背后的逻辑是什么?@mellamokb我不喜欢指出一个缺失的
$
获得如此多的声誉。我尝试这个问题,要么是关于一个完全琐碎的手动链接(背景),要么是一个小的打字错误谢谢所有的建议。我习惯于C语言,在C语言中,像这样的简单错误会在编译时出现。我想我必须更加关注php:(好奇:CW背后的逻辑是什么?@mellamokb我不喜欢指出一个缺失的
$
获得如此多的声誉。我尝试这个问题,或者是关于一个完全琐碎的手动链接(背景)或者一个小的打字错误谢谢所有的建议。我习惯于C#,在编译时会出现类似这样的简单错误。我想我必须更加注意php:(