<?php
$interval = new DateInterval('PT1S');
$start = new Datetime('2016-05-24 00:00:01');
$period = new DatePeriod($start, $interval, 3 * 24 * 60 * 60);
foreach ($period as $date) {
echo $date->format('d-m-y | H:i:s') . PHP_EOL;
}
<?php
$interval = new DateInterval('P1D');
$start = new Datetime('2016-05-24');
$period = new DatePeriod($start, $interval, 3);
foreach ($period as $date) {
$day = $date->format('d-m-y');
for ($H = 0; $H < 24; $H++) {
for ($i = 0; $i < 60; $i++) {
for ($s = 0; $s < 60; $s++) {
echo sprintf('%s | %02d:%02d:%02d', $day, $H, $i, $s) . PHP_EOL;
}
}
}
}
Получится у нас портянка, которая почти не годится для того, чтоб быстро применить её, например, для другой cms.
Вот в C# есть кроме обычного конструктора статический конструктор. суть его в том что при любом ПЕРВОМ обращении к статическим свойствам класса перед этим обращением выполняется статический конструктор. В котором определяются свойства для класса.
<?php
class Test
{
static public $foo = 1;
static public $bar = 1;
static public function getFoo()
{
return static::__getStatic('foo');
}
static public function getBar()
{
return static::__getStatic('bar');
}
/**
* Вызывает __constructorStatic() при первом обращении
* и возвращает значение статического свойства $name.
*
* @param string $name Имя статического свойства класса.
*/
static protected function __getStatic($name)
{
static $called = false;
if (!$called) {
$called = true;
self::__constructorStatic();
}
return static::${$name};
}
/**
* "Статический конструктор" класса.
*/
static private function __constructorStatic()
{
static::$bar++;
static::$foo++;
}
}
Все ли верно в логике работы моего варианта или я чего-то не учел?
сказали, что о знании языков программирования не будут спрашивать
echo round(1672 , -2); // 1700
function ceil_step($number, $step = 5)
{
$x = $number % $step;
if ($x) {
$number = $number - $x + $step;
}
return $number;
}
echo ceil_step(1670); // 1670
echo ceil_step(1672); // 1675
echo ceil_step(1678); // 1680
writeStream()
.