Serialize() et unserialize() de PHP : gestion de structures de données complexes
Lorsque vous travaillez avec PHP, vous rencontrez souvent le besoin de stocker ou transmettre des structures de données complexes telles que des tableaux ou des objets au-delà de la portée d'une seule exécution de script. C'est là que les fonctions PHP serialize() et unserialize() entrent en jeu.
Comprendre la sérialisation
serialize() convertit une structure de données complexe en une représentation sous forme de chaîne qui peut être stocké ou transporté. Il préserve la structure et les données du tableau ou de l'objet d'origine, mais il utilise un format PHP propriétaire. La sortie de serialize() est une chaîne complexe qui code le type de données, les paires clé-valeur et les propriétés de l'objet.
Exemple :
Pour illustrer, considérons le tableau PHP suivant :
$a = array('1' => 'elem 1', '2' => 'elem 2', '3' => 'elem 3'); print_r($a); echo "<br><br>"; $b = serialize($a); print_r($b);
Sortie :
Array ( [1] => elem 1 [2] => elem 2 [3] => elem 3 ) a:3:{i:1;s:6:"elem 1";i:2;s:6:"elem 2";i:3;s:7:" elem 3";}
Comme vous pouvez le voir, la deuxième sortie est la version sérialisée du tableau au format propriétaire PHP.
Exemple d'utilisation
Un scénario courant dans lequel Serialize() et unserialize() sont utiles est lorsque vous avez besoin pour passer un tableau PHP à JavaScript. Étant donné que JavaScript ne peut gérer que les types de données primitifs, vous devez convertir le tableau en chaîne JSON (un format de sérialisation universel) à l'aide de serialize(). Vous pouvez ensuite utiliser unserialize() pour reconvertir la chaîne JSON en tableau en PHP si nécessaire.
Conclusion
serialize() et unserialize() sont essentiels en PHP fonctions pour traiter des structures de données complexes. Ils permettent la persistance et la transmission de ces structures à travers différents environnements et technologies, tels que les bases de données et les applications JavaScript.
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!