Некорректно работает функция array_unshift
по сути она должна переносить в начало массива элемент, а если он не существует, она его добавляет, у меня же она только добавляет, не смотря на то что я ввожу одинаковые запросы
1234567891011121314
if(empty($_COOKIE['recent_queries'])){
setcookie('recent_queries', json_encode([]), time() + 31536000, '/');
}
if (isset($_GET['search'])) {
$RecentQueries = json_decode($_COOKIE['recent_queries']);
array_unshift($RecentQueries, strtolower(trim($_GET['search'])));
foreach ($RecentQueries as $ke) {
echo $ke;
}
setcookie('recent_queries', json_encode($RecentQueries), time() + 31536000, '/');
}
if(isset($_GET['d'])){
setcookie('recent_queries', json_encode([]), time() - 31536000, '/');
}
По дате
По рейтингу
Заменить array_unshift() на
1
$RecentQueries = ['search' => $_GET['search']] + $RecentQueries;