/** * @param string $hisStart * @param string $hisEnd * @param int $range * * @return array */ function createHisRange($hisStart = '00:00:00', $hisEnd = '23:59:59', $range = 3600) { return array_map(function ($time) { return date('H:00:00', $time); }, range(strtotime($hisStart), strtotime($hisEnd), $range)); } /** * @param $ymdStart * @param bool $ymdEnd * @param int $range * * @return array */ function createYmdRange($ymdStart, $ymdEnd = true, $range = 86400) { if ($ymdEnd === true) $ymdEnd = date('Y-m-d'); return array_map(function ($time) { return date('Y-m-d', $time); }, range(strtotime($ymdStart), strtotime($ymdEnd), $range)); } /** * @description 值转换为键名 * * @param $array * @param $keyName * * @return array */ function arrVal2Key($array, $keyName) { $arr2 = array(); foreach ($array as $arr) { $arr2[$arr[$keyName]] = $arr; } return $arr2; } $arrRes = array( array( 'dt' => '2014-10-22', 'v1' => 30, 'v2' => 40, 'v3' => 45, ), array( 'dt' => '2014-10-25', 'v1' => 30, 'v2' => 44, ), array( 'dt' => '2014-10-26', 'v1' => 3, 'v3' => 2, ) ); //var_dump($arr); //--------------------START---------------------- $arrDate = createYmdRange('2014-10-22', '2014-10-28'); $arrRes = arrVal2Key($arrRes, 'dt'); foreach ($arrDate as $key) { if (empty($arrRes[$key])) { $arrRes[$key] = array( 'dt' => $key, 'v1' => 0, 'v2' => 0, 'v3' => 0, ); } } ksort($arrRes); //----------------------END---------------------- var_dump($arrRes); //$arrDate = array_combine($arrDate, array_map(function ($v) { // return array(); //}, $arrDate)); //$arr = array_merge_recursive($arr, $arrDate); //var_dump($arr); //$arr = array_merge_recursive(); //var_dump($arrDate); //$arr = createHisRange('01:00:00', '24:00:00', 2600); //$arr = createHisRange(); //$arr = createYmdRange('2014-09-25','2014-11-23'); //var_dump($arr);
PHP 生成日期 区间
最新推荐文章于 2022-07-23 12:05:56 发布