Как назначить многомерный массив в куки с PHP? - PullRequest
1 голос
/ 16 декабря 2009
cookie[person][name],  cookie[person][id],  cookie[person][age]

Как сделать печенье, как указано выше?

1 Ответ

5 голосов
/ 16 декабря 2009

Ну, вы можете присвоить значению cookie сериализованный массив

$array = array("person1" => array("name" => "Ted"));
$value = serialize($array);
set_cookie("name", $value);

Если вы хотите прочитать его обратно, получите данные из файла cookie и удалите их из серии

$array = unserialize($_COOKIE['name']);

Это, вероятно, не скрыло бы данные, которые вы пытаетесь хранить очень хорошо. Другая ситуация - использовать вместо нее переменную Session

session_start();

Теперь вы можете назначить что угодно, массивы, объекты, что угодно, на $_SESSION.

$_SESSION['person'] = array();

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

Это означает, что ваши объекты будут сериализованы.

В любом случае, это та же самая основная идея. Вы сериализуете структуру данных, записываете ее в файл (файл cookie или файл сеанса) и позже считываете его обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...