Home > Article > Backend Development > 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>
Reading Code:
<code class="php">$data = json_decode($_COOKIE['your_cookie_name'], true);</code>
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>
Reading Code:
<code class="php">$data = $_COOKIE['my_array'];</code>
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!