https://www.googleapis.com/auth/youtube.force-ssl
id
, после которого брать новости. Как получили ответ – показали принятые новости и сохранили в переменной id
для следующего запроса.'AND feed.time_update < ' . (int) $lastFeed['time_update']
оч. плохая практика склеивать строку запроса. Используйте биндинг параметров, что-то типа:$stmt = $conn->prepare("SELECT ..... AND feed.time_update < ?");
$stmt->bind_param($lastFeed['time_update']);
$stmt->execute();
$result = $stmt->fetchAll();
example.com/?text=%D0%A2%D0%B5%D0%BA%D1%81%D1%82
num=%D0%9D%D0%BE%D0%BC%D0%B5%D1%80
old=%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5
{"data":{"text":"Текст","num":"Номер","old":"Данные"}
var
больше не стоит использовать, вообще. Только let
и const
.var a = 5;
— тут происходит 2 вещи: function a()
уплывает наверх выше назначения a = 5
, которое оказывается после всех деклараций. Можно даже так:function a() {
return 10;
}
a = 5;
Это, по сути, и происходит в 1-м примере. localStorage
это возможность браузеров, а не особенность языка.const dict = [];
arrObj.forEach((el, i) => {
if (! dict.includes(el.key)) dict.push(el.key);
el.sorter = dict.indexOf(el.key);
});
arrObj.sort((a, b) => a.sorter < b.sorter ? -1 : (a.sorter > b.sorter ? 1 : a.id - b.id));
arrObj.forEach((el) => delete el.sorter);
console.log(arrObj);