PHP вычисляет разницу между двумя значениями в цикле while - PullRequest
0 голосов
/ 21 января 2011

Я выводю XML-документ с PHP из результатов mysql, в одном столбце у меня есть набор значений, но это накопительные значения, то есть: 1,3,6,8,12,45 и т. Д.но как я могу лишь отобразить разницу между значениями, а не сами значения в этом:

while($row = mysql_fetch_array($result)){
    $strXML .= "<set name='".date("G:i:s", strtotime($row["tstamp"]))
            .  "' value='".$row['steam']."' color='AFD8F8' />";
}

Обсуждаемый столбец "steam", как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 21 января 2011

Вы хотите сделать это?

$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'];
}

при условии, что $row['steam'] - это одно число, а не список через запятую.

1 голос
/ 21 января 2011
$dataArray = explode(',',$row['steam']);
$dataCount = count($dataArray);
$newArray = array();
for($i = 1; $i < $dataCount; $i++) {
   $newArray[] = $dataArray[$i] - $dataArray[$i-1];
}
$newData = implode(',',$newArray);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...