Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Некорректно работает функция array_unshift

asdasdasd Ученик (47), открыт 2 недели назад
по сути она должна переносить в начало массива элемент, а если он не существует, она его добавляет, у меня же она только добавляет, не смотря на то что я ввожу одинаковые запросы

 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, '/');
}
1 ответ
© Дима™ Мыслитель (5625) 2 недели назад
Заменить array_unshift() на
 $RecentQueries = ['search' => $_GET['search']] + $RecentQueries; 
Похожие вопросы