Maison  >  Article  >  développement back-end  >  Comment stocker des tableaux PHP dans des cookies : JSON, sérialisation ou fractionnement de tableau ?

Comment stocker des tableaux PHP dans des cookies : JSON, sérialisation ou fractionnement de tableau ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 15:01:01905parcourir

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

Stockage de tableaux PHP dans des cookies

PHP fournit diverses méthodes pour stocker des tableaux dans des cookies. Voici un aperçu complet des techniques les plus couramment utilisées :

Stringification JSON :

JSON (JavaScript Object Notation) est un format d'échange de données léger qui offre un moyen pratique pour stocker des tableaux dans des cookies.

Code de stockage :

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

Code de lecture :

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

Avertissement : ne pas utiliser Serialize/Unserialize

PHP fournit les fonctions Serialize() et Unserialize() pour convertir des tableaux en chaînes et inversement. Cependant, ces fonctions sont très peu sécurisées et ne doivent pas être utilisées pour stocker des données non fiables dans des cookies, car elles peuvent être exploitées pour exécuter du code arbitraire.

Solution alternative : fractionnement de tableau

Comme alternative à la stringification JSON, vous pouvez stocker les éléments du tableau séparément sous forme de cookies, chacun avec sa propre clé.

Code de stockage :

<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>

Lecture du code :

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

Cette approche est particulièrement utile si vous devez accéder directement à des éléments individuels du tableau sous forme de cookies. Il est également sécurisé car il n’implique aucune conversion de chaîne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn