注意:函数+ =中的未定义变量

时间:2014-12-06 10:59:18

标签: php

在我创建的几个脚本中,当我在我的wampserver上连接时出现同样的错误。

每件事情都顺利进行,但我不喜欢这些错误。 Notice: Undefined variable

$watdan函数给我这个错误。

例如,我需要计算数量:2835 + 11024我已经将这些数量加倍。 现在当我使用这段代码时:

            $total[0] = $totaal->amount;
            $total[1] = $totaal->price;
            $watdan += $total[0] * $total[1];

我得到了正确的答案13859,但我也得到了我提到的错误。

现在,当我添加$watdan=0;时,我只收到11024而没有给出错误。

这是完整的代码:

    $pak14 = $db->query("SELECT * FROM log_drops INNER JOIN log_items ON log_drops.item = log_items.name AND log_drops.game = log_items.game WHERE log_drops.log_id = '".$id."' ORDER BY log_drops.log_name ASC") or die($db->error);
    while($totaal = $pak14->fetch_object())
    {

            $total[0] = $totaal->amount;
            $total[1] = $totaal->price;
            $watdan += $total[0] * $total[1];
        } 
    if(isset($watdan))
    {
        echo $watdan; echo ' Gold';
    }

3 个答案:

答案 0 :(得分:2)

您必须将此变量初始化为0(首先为零)

            $watdan=0;
            $total[0] = $totaal->amount;
            $total[1] = $totaal->price;
            $watdan += $total[0] * $total[1];

答案 1 :(得分:1)

不声明变量$watdan。使用后用0''声明变量。

$watdan=0;//add this in your code
$total[0] = $totaal->amount;
$total[1] = $totaal->price;
$watdan += $total[0] * $total[1];

检查这个

 $pak14 = $db->query("SELECT * FROM log_drops INNER JOIN log_items ON log_drops.item = log_items.name AND log_drops.game = log_items.game WHERE log_drops.log_id = '".$id."' ORDER BY log_drops.log_name ASC") or die($db->error);
$watdan=0;//add this in your code
while($totaal = $pak14->fetch_object())
{

        $total[0] = $totaal->amount;
        $total[1] = $totaal->price;
        $watdan += $total[0] * $total[1];
    } 
if(isset($watdan))
{
    echo $watdan; echo ' Gold';
}

答案 2 :(得分:1)

首先将$ watdan变量声明为:

 $watdan = 0;

然后它会起作用。如果不用短手操作符声明它,就不能直接为变量赋值。