У меня уже был материал на тему того, как хранить, получать и удалять куки на PHP и мы выяснили, что передать в Cookie можно только строчные данные. Но как быть, если требуется передать целый массив? Ответ довольно прост. Вы наверняка уже догадались, нужно этот массив преобразовать в строку. Предположим, что в массиве у нас города:
1
2
3
4
5
6
7
8
9
| $arrayCity = [
1 => 'Москва',
2 => 'Санкт-Петербург',
3 => 'Екатеринбург',
4 => 'Тобольск',
5 => 'Хабаровск',
6 => 'Псков',
7 => 'Владивосток'
]; |
$arrayCity = [
1 => 'Москва',
2 => 'Санкт-Петербург',
3 => 'Екатеринбург',
4 => 'Тобольск',
5 => 'Хабаровск',
6 => 'Псков',
7 => 'Владивосток'
];
И теперь:
setcookie('city', json_encode($arrayCity, JSON_UNESCAPED_UNICODE)); |
setcookie('city', json_encode($arrayCity, JSON_UNESCAPED_UNICODE));
Теперь по ключу city у нас доступна вся информация, которую мы легко достаем. И, что самое немаловажное, — это часто используемая операция, поэтому знать, как добавить массив в COOKIE вы просто обязаны.
1
2
| $cityArr = json_decode($_COOKIE['city'], true);
var_dump($cityArr); |
$cityArr = json_decode($_COOKIE['city'], true);
var_dump($cityArr);
В итоге имеем распарсенный массив:
Передать массив в куки и потом дальше работать с этой информацией совсем не сложно. Здесь используются базовые функции языка PHP без придумывания своих собственных велосипедов. Поэтому запомнить будет достаточно просто. В ближайших уроках я покажу конкретный практический пример того, как использовать этот код и вы убедитесь в его ценности. До новых встреч!
Добавить комментарий