В чем нам даст профит то, что у нас отсортированный набор данных, если мы начнем поиск начиная с id = 1
if (strpos( $_SERVER['HTTP_HOST'], 'krd.site.ru') !== false)
echo "<meta name='title' content='Краснодар'>";
else
echo "<meta name='title' content='Петербург'>";
$host = $_SERVER[ 'HTTP_HOST' ];
$city = array(
"krd.site.ru" => "Краснодара",
"spb.site.ru" => "Санкт-Петербурга",
"msk.site.ru" => "Москвы",
"urp.site.ru" => "Урюпинска",
);
echo "
<header>
<meta name='title' content='Лучшие индивидуалки из'".$city[ $host ].">
</header>";
/**
* асинхрота с запросом. Возвращает Promise
*/
const doAsyncStuff = (urlIter, urlSite) => new Promise((resolve, reject) => {
needle.get(urlIter, (err, result) => { // Сама асинхронная функция
if (err) reject(err);
$('.product-card__link')
.each((i, val) => prodLink.push(urlSite + $(val).attr("href")));
resolve();
})
})
/**
* Тот самый цикл
* @param {number} quanPage число страниц
*/
const doStuff = async quanPage => {
for(let i = 1; i <= quanPage; i++) {
let urlIter = urlSite + i; // Ссылка, которая создается с каждой новой итерацией
await doAsyncStuff(urlIter, urlSite); // Ждём-с!
}
}
doStuff(10);
$oldTime = strtotime('10:30');
$newTime = date("H:i", strtotime('+10 minutes', $oldTime));
$time = new \DateTime('10:30');
$time->add(new \DateInterval('PT10M'));
echo $time->format('H:i');