array_sum结果为负数

时间:2014-08-05 07:23:21

标签: php arrays

我有一个像这样的数组

array (size=5107)
  0 => int 421
  1 => int 996
  2 => int 1555
  3 => int 399
  4 => int 57914
  5 => int 57245
  6 => int 7176
  7 => int 7166
  8 => int 5987

这个数组是通过从数据库中提取一些时间戳,比较它们然后以秒为单位得到差异来生成的;

$start_date = new DateTime($startdate);
$since_start = $start_date->diff(new DateTime($closedate));

$diff = strtotime($closedate) - strtotime($startdate);

然后我想得到数组的平均值,但每当我做array_sum($array);时,结果总是负数,我不确定为什么。我在这里误解了什么?

如果我改变

$diff = strtotime($closedate) - strtotime($startdate);

$diff = strtotime($startdate) - strtotime($closedate);

array_sum($array);产生正值,但所有数组值均为负数,但所有结果都相同。

1 个答案:

答案 0 :(得分:1)

你应该得到绝对值:

$diff = abs(strtotime($closedate) - strtotime($startdate));