Top.Mail.Ru
Ответы

Некорректно работает функция 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;