PHP 获取离当前时间最近的时间

例如,多个日期时间的数组:

  1. $data = [
  2. '2015-02-02 11:11:11',
  3. '2012-02-02 11:55:11',
  4. '2019-12-02 11:33:11',
  5. '2017-12-02 11:22:11',
  6. ];

请编写函数返回离现在最近的时间2019-12-02 11:33:11

答案

  1. function getNear($times)
  2. {
  3. return array_reduce($times, function ($a, $b) {
  4. return abs((time() - strtotime($a))) < abs((time() - strtotime($b))) ? $a : $b;
  5. });
  6. }