Как удалить сессию PHP?

Вы можете собрать все значения для каждого ключа и затем взять макс. Или вместо этого прочитайте каждую строку, получите ключ и значение и проверьте, превышает ли это значение текущее значение. Если это так, замените его. Значение по умолчанию для defaultdict(int) равно 0, поэтому оно всегда должно быть ниже любого значения, которое у вас есть в вашем файле.

from collections import defaultdict

winner = defaultdict(int)
with open ("Scores.txt") as file:
    for line in file:
        (key, val) = line.split()
        val = int(val)
        if val > winner[key]:
            winner[key] = val
print(winner)

Отпечатки defaultdict(<class 'int'>, {'Jeff': 66, 'Tom': 76, 'Aaron': 67, 'Eva': 47})

Если могут быть отрицательные оценки, используйте defaultdict(lambda: -10000) (или любое другое отрицательное число, меньшее минимально возможного).

6
задан Charles 24 December 2012 в 23:05
поделиться

3 ответа

Если вы чувствуете необходимость ввести новый идентификатор http://pl.php.net/manual/en/function.session-regenerate-id.php

А на ваш вопрос из руководства:

session_destroy () уничтожает все данные, связанные с текущим сессия. Это не сбрасывает ни один из глобальные переменные, связанные с сеанс или сброс файла cookie сеанса. Чтобы снова использовать переменные сеанса, session_start () должен быть вызван.

Чтобы завершить сеанс в целом, как выйти из системы, идентификатор сеанса также должен быть не установлен. Если печенье используется для распространения идентификатор сессии (поведение по умолчанию), затем cookie сеанса должен быть удален. Для этого можно использовать setcookie ().

5
ответ дан 17 December 2019 в 02:33
поделиться

Ваш сеанс разрушается.

PHP будет только создать идентификатор сеанса, если браузер не указывает его. Пока сеанс был уничтожен, проблем с этим нет.

1
ответ дан 17 December 2019 в 02:33
поделиться

Что за масштабное сохранение и уничтожение? Просто session_start и установите свои переменные. Не нужно уничтожать, а затем сбрасывать их!

Ваша «проблема» с браузером заключается в том, что когда вы закрываете окно браузера, ваш браузер удаляет cookie, который PHP отправляет ему, чтобы он знал идентификатор сеанса. Это опция браузера и не может быть изменена на стороне сервера (если вы не используете ее). Его можно обойти, используя некоторые методы, но это, вероятно, не лучший вариант.

0
ответ дан 17 December 2019 в 02:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: