php - 如何读取 PHP 数组中的多个日期值,然后将它们相减,返回 int 值

标签 php mysql arrays date

我有一个需要实现的任务,简而言之,我希望能够使用 PHP 从 mySQL 中的表中读取多个日期值,然后操作这些值以获得以天为单位的日期差异,保存这些新的日期(int值)到另一个数组中以进行进一步操作(线性回归)。我的问题是我无法达到可以将从数据库检索到的初始值保存到数组中的程度,但是当我尝试操作这些值并将它们保存到第二个数组中时,它不起作用。这是我的简单代码:

$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 )
)

拜托,我真的需要一些帮助。 谢谢你 - 哈穆德

最佳答案

试试这个:

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(日期)']

关于php - 如何读取 PHP 数组中的多个日期值,然后将它们相减,返回 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26980400/

相关文章:

php - 悬停时 CSS 边框问题

javascript - 将代码移至导出函数会导致 TypeError : Converting circular structure to JSON

java - MySQL语法异常,手动工作

c++ - 调用返回数组的函数时出现问题

php - 使用 htaccess 的 ssl 上的不安全内容图像和 js

javascript - 清除浏览器缓存以加载重命名的文件

php - 如何将具有一些相同值的php数组拆分并插入到两个具有唯一值的mysql关系表中

mysql - 这个sql查询有什么问题?ERROR 1054 (42S22)

javascript - Angularfire $firebaseArray 扩展动态计数\总和

arrays - 如何确定元素是否存在于 Perl 6 数组中