我有一个需要实现的任务,简而言之,我希望能够使用PHP从mySQL中的表中读取多个日期值,然后操纵这些值以获取日期差异,保存这些新的天数(int值)进入另一个数组进行进一步操作(线性回归)。我的问题是我无法达到可以将从DB检索的初始值保存到数组中的程度,但是当我尝试操作这些值并将它们保存到第二个数组时,它不起作用。这是我的简单代码:
$result = mysql_query("SELECT TO_DAYS(date) FROM ordering WHERE id=1",$conn);
$num_rows = mysql_num_rows($result);
// mysql_query($result,$conn) or die(mysql_error();
//echo $num_rows;
$data = array();
$days=array();
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) !== false){
$data[] = $row; // add the row in to the results (data) array
}
print_r($data); // print result
//This part is not working
for ($x=$num_rows;$x>0;$x--){
$days[x]=(($data[$x])-($data[$x-1]));
}
print_r($days);
mysql_close($conn);
如果我在代码中没有包含for循环,我会在屏幕上看到如下输出:
Array (
[0] => Array ( [TO_DAYS(date)] => 735599 )
[1] => Array ( [TO_DAYS(date)] => 735630 )
[2] => Array ( [TO_DAYS(date)] => 735658 )
[3] => Array ( [TO_DAYS(date)] => 735689 )
[4] => Array ( [TO_DAYS(date)] => 735735 )
[5] => Array ( [TO_DAYS(date)] => 735780 )
[6] => Array ( [TO_DAYS(date)] => 735811 )
)
我真的需要一些帮助。 谢谢你 - 哈穆德
答案 0 :(得分:0)
试试这个:
for ($x = $num_rows - 1; $x > 0; $x--) {
$days[$x] = $data[$x]['TO_DAYS(date)'] - $data[$x-1]['TO_DAYS(date)'];
}
此处,$data[$x]
是一个数组本身,其核心为TO_DAYS(date)
,因此您需要使用$data[$x]['TO_DAYS(date)']
获得所需的值。