我在PHP中有foreach循环。它将通过json项目,并且每个项目我都有价值变化。我设定我的周期每20分钟运行一次。
我需要保存我的值,下次foreach运行该项时我需要在开头的旧值中赋值给变量,这样我就可以比较foreach循环中的旧值和新值。
这是代码:
// Parse results and extract data to display
foreach($json as $quote)
{
//add before value
$state1 = $state2;
// assign object elements to vars
$q_change = $quote->c;
$q_price = $quote->l;
$q_name = $quote->t;
$q_changep = $quote->cp;
$q_symbol = $quote->t;
$q_ltrade = $quote->lt;
$q_exch = $quote->e;
$state2 = $q_change;
$parametar = $q_change - $state1;
// Define class based on change
if ( $parametar < -0.3 ) { $chclass = "minus"; }
else if ( $parametar > 0.3 ) { $chclass = "plus"; }
else if ( $q_change < 0 ) { $chclass = "minus"; }
else if ( $q_change > 0 ) { $chclass = "plus"; }
else { $chclass = "zero"; $q_change = "0.00"; }
}
知道这可能有用吗?
答案 0 :(得分:0)
您必须在文件系统上保存JSON以在后续运行中检索值:
$oldJsonFile = '/path/to/data.json';
if (is_file($file)) {
$oldJson = file_get_contents($oldJsonFile);
}
// Do the work, and then store it back to the file system
file_put_contents($cacheFile, $newJson);
答案 1 :(得分:0)
我想你想做的事情如下。会话将存储您的数据以供下一次foreach执行。
session_start();
$previousData = $_SESSION['PreviousData'];
foreach($array as $key => $value){
//... all your foreach calculations
//end of foreach
}
$_SESSION['PreviousData'] = $thisData;
或者,您可以将数据存储到数据库中,这就是它们的用途。然后,您可以自由地对过去的记录等进行各种有趣的查询。