【发布时间】:2016-09-07 01:47:53
【问题描述】:
我有一个这样的数组
[0] => Mike
[1] => 933
[2] => Josh
[3] => 1245
...
打印出这样的表格
Name Total Change
Mike 933 x
Josh 1245 x
使用以下脚本
$counter = 1;
$sessionID = 0;
foreach ($array as $value) {
if(++$counter % 2 === 0) {
echo "<tr><td class='value'>".$value."</td>";
} else {
echo "<td class='value'>".$value."</td>";
$sessionID++;
echo "<td class='update'>"x"</td>";
}
}
循环时我想将当前的“$value”保存在会话中,因此当用户刷新页面时 x 将显示 $value - $_SESSION[$oldvalue],例如 943-933=10,结果将是
Name Total Change
Mike 943 10
Josh 1045 -200
希望你明白我要做什么。如果有帮助,下面是单个用户的工作测试版本。到目前为止,我尝试过同样的想法,但没有成功。
$old = ($array[1] - $_SESSION["oldvalue"]);
echo "<tr><td class='value'>".$array[0]."";
echo "</td><td class='value'>".$array[1]."";
$_SESSION["oldvalue"] = $array[1];
if ($old > 100) {
echo "</td><td class='update'>";
echo "<b>". $old ."</b>";
} else {
echo "</td><td class='value'>";
echo $old;
}
【问题讨论】:
-
我不明白旧值
943-933=10的逻辑?为什么是 943? -
@cmnardi 这只是一个例子。这个想法是我有值 X 和 Y,Y 是新值,X 是旧值。每次用户刷新页面时,我都需要计算差异。所以每次刷新后 Y 都会改变并变成 X 而 Y 是一个新值。
标签: php arrays session foreach session-cookies