图的while循环中的PHP减法

图的while循环中的PHP减法,php,math,while-loop,Php,Math,While Loop,我有以下代码: $previous = 0; while($row = mysql_fetch_array($result)){ $difference = $row['steam'] - $previous; $strXML .= "<set name='".date("G:i:s", strtotime($row["tstamp"])). "' value='".$difference."' color='AFD8F8'

我有以下代码:

$previous = 0;
        while($row = mysql_fetch_array($result)){
            $difference = $row['steam'] - $previous;
            $strXML .= "<set name='".date("G:i:s", strtotime($row["tstamp"])).  "' value='".$difference."' color='AFD8F8' />";
            $previous = $row['steam'];
        }
$previous=0;
while($row=mysql\u fetch\u数组($result)){
$difference=$row['steam']-$previous;
$strXML.=“”;
$previous=$row['steam'];
}
这段代码在第一个结果之后的每一个结果都非常有效。如果我能解释的话,$previous从0开始,所以条形图上的第一个块实际上是3334,因为3334-0=3334,但是从那时起,我得到了我想要的,因为它在实际值之间做数学运算。如何修复第一个结果


谢谢

如果要绘制值的变化,跳过第一个值不是更有意义吗?我在下面放了一个代码示例

否则,我不确定您在第一次运行循环时想要什么值

$previous = 0;
$firstRun = true;
    while($row = mysql_fetch_array($result)){
        $difference = $row['steam'] - $previous;
        if (!$firstRun)
          $strXML .= "<set name='".date("G:i:s", strtotime($row["tstamp"])).  "' value='".$difference."' color='AFD8F8' />";
        $previous = $row['steam'];
        $firstRun = false;
    }
$previous=0;
$firstRun=true;
while($row=mysql\u fetch\u数组($result)){
$difference=$row['steam']-$previous;
如果(!$firstRun)
$strXML.=“”;
$previous=$row['steam'];
$firstRun=false;
}

如果要绘制值的变化,跳过第一个值不是更有意义吗?我在下面放了一个代码示例

否则,我不确定您在第一次运行循环时想要什么值

$previous = 0;
$firstRun = true;
    while($row = mysql_fetch_array($result)){
        $difference = $row['steam'] - $previous;
        if (!$firstRun)
          $strXML .= "<set name='".date("G:i:s", strtotime($row["tstamp"])).  "' value='".$difference."' color='AFD8F8' />";
        $previous = $row['steam'];
        $firstRun = false;
    }
$previous=0;
$firstRun=true;
while($row=mysql\u fetch\u数组($result)){
$difference=$row['steam']-$previous;
如果(!$firstRun)
$strXML.=“”;
$previous=$row['steam'];
$firstRun=false;
}

取决于应用程序逻辑。如果还没有设置
$difference
,您可以将其设置为零

$difference = isset($difference) ? $row['steam'] - $previous : 0;

取决于您的应用程序逻辑。如果还没有设置
$difference
,您可以将其设置为零

$difference = isset($difference) ? $row['steam'] - $previous : 0;

while之前的
$difference
值是多少(如果相关)?循环之前不存在差异:)您希望
$difference
的初始值是多少?也就是说,
$row['steam']
和什么之间的差异?期望哪个值作为第一个值?与最后一行的差异?嗯,不确定,这就是我要征求的建议,从表(mysql)中检索另一个值以设置初始值是否更好?在while之前,
$Difference
的值是多少(如果相关的话)?循环之前不存在差异:)初始值的
$difference
是什么?也就是说,
$row['steam']
和什么之间的差异?期望哪个值作为第一个值?与最后一行不同?嗯,不确定,这就是我要征求意见的地方,从表中检索另一个值(mysql)来设置初始值是否更好?这对我来说很有效,所以我显示的是9而不是10,但至少在图的开头没有一个大的条带抛出所有轴,谢谢!这对我来说很有效,所以我显示的是9而不是10,但至少在图的开头没有一个巨大的条带将所有轴都抛出,谢谢!