Я искал метод setInterval в PHP, похожий на тот, который в javascript:
setInterval(function() {
/* do something amazing every ten seconds */
}, 10000);
и я наткнулся на этот ответ на SO: https://stackoverflow.com/a/12783983,
пока я играл с этой функцией, я понял, что не знаю, что делает эта строка:
$seconds=(int)$milliseconds/1000;
поэтому я исследовал http://php.net но самое близкое, что я мог найти, было это: http://php.net/manual/en/function.intval.php
Я хотел понять, что это сделало полностью, прежде чем использовать его на моем сайте, так что, может, кто-то, пожалуйста, пролить свет на то, что эта строка
function setInterval($f, $milliseconds) {
$seconds=(int)$milliseconds/1000;
while(true) {
$f();
sleep($seconds);
}
}
редактировать:
после настройки функции я придумал следующее:
function setInterval2($callBack, $seconds) {
while(true) {
$callBack();
sleep($seconds/1000);
}
}
Обе функции (версии php функций, а не javascript) делают одно и то же & получить тот же результат?
Есть ли разница между ними?
Заранее спасибо.
Это:
(int)$milliseconds/1000;
в основном так же, как:
floor($milliseconds/1000);
Результатом деления является значение с плавающей запятой. (int)
превращает его в целое число и сокращает десятичные дроби.
Других решений пока нет …