0

我有以下数组:

$Output = Array
    (
        [0] => 2013-08-28 13:04:50-05:00
        [1] => 2013-08-28 18:31:29-05:00
        [2] => 2013-08-30 15:08:23-05:00
        [3] => 2013-08-30 21:45:48-05:00
        [4] => 2013-08-31 16:57:50-05:00
    )

现在我需要将每个元素转换为字符串,以便将其与这些变量进行比较:

$hr24 = strtotime(date('Y-m-d H:i:sP',strtotime("-1 days")));
$hr72 = strtotime(date('Y-m-d H:i:sP',strtotime("-3 days")));

所以我想做的是,如果数组元素超过 24 小时,则将其写入 TXT 文件,如果超过 72 小时,则写入另一个文件。所以我有这个:

$OutputStr = serialize($Output);
$OutputStr = strtotime($OutputStr);

if ($OutputStr > $hr24) {
file_put_contents('/folder/test/test24hr_log.txt', print_r($OutputStr, true));
                    }
    elseif ($OutputStr > $hr72) {
        file_put_contents('/folder/test/test72hr_log.txt', print_r($OutputStr, true));
            }

但是没有给我任何答案,有人有想法吗?我不知道我是否对每个元素进行了正确的比较。任何帮助表示感谢!

4

1 回答 1

1
$hr24 = strtotime("-1 days");
$hr72 = strtotime("-3 days");
$older24 = array();
$older72 = array();
foreach ($Output AS $date) {
  $time = strtotime($date);
  if ($time < $hr72) {
    $older72[] = $date;
  } else if ($time < $hr24) {
    $older24[] = $date;
  }
}
file_put_contents('/folder/test/test24hr_log.txt', serialize($older24));
file_put_contents('/folder/test/test72hr_log.txt', serialize($older72));

http://phpfiddle.org/lite/code/q3r-j5y

于 2013-09-04T18:53:36.833 回答