Home > Backend Development > PHP Tutorial > How to Store PHP Arrays in Cookies: JSON, Serialize, or Array Splitting?

How to Store PHP Arrays in Cookies: JSON, Serialize, or Array Splitting?

Susan Sarandon
Release: 2024-10-31 15:01:01
Original
988 people have browsed it

How to Store PHP Arrays in Cookies: JSON, Serialize, or Array Splitting?

Storing PHP Arrays in Cookies

PHP provides various methods for storing arrays in cookies. Here's a comprehensive overview of the most commonly used techniques:

JSON Stringification:

JSON (JavaScript Object Notation) is a lightweight data-interchange format that provides a convenient way to store arrays in cookies.

Storing Code:

<code class="php">setcookie('your_cookie_name', json_encode($info), time() + 3600);</code>
Copy after login

Reading Code:

<code class="php">$data = json_decode($_COOKIE['your_cookie_name'], true);</code>
Copy after login

Warning: Do Not Use serialize/unserialize

PHP provides serialize() and unserialize() functions for converting arrays to strings and back. However, these functions are highly insecure and should not be used for storing untrusted data in cookies, as they can be exploited to execute arbitrary code.

Alternative Solution: Array Splitting

As an alternative to JSON stringification, you can store array elements separately as cookies, each with its own key.

Storing Code:

<code class="php">setcookie('my_array[0]', 'value1', time() + 3600);
setcookie('my_array[1]', 'value2', time() + 3600);
setcookie('my_array[2]', 'value3', time() + 3600);</code>
Copy after login

Reading Code:

<code class="php">$data = $_COOKIE['my_array'];</code>
Copy after login

This approach is particularly useful if you need to access individual array elements directly as cookies. It is also secure as it does not involve any string conversion.

The above is the detailed content of How to Store PHP Arrays in Cookies: JSON, Serialize, or Array Splitting?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template