Maison > développement back-end > tutoriel php > Comment sérialiser et désérialiser des données en php

Comment sérialiser et désérialiser des données en php

墨辰丷
Libérer: 2023-03-30 09:16:01
original
1354 Les gens l'ont consulté

Cet article présente principalement comment sérialiser et désérialiser les données en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

php utilise en fait deux fonctions pour sérialiser et désérialiser les données, sérialiser et désérialiser.
sérialiser Formater le tableau en une chaîne ordonnée
désérialiser Restaurer le tableau en tableau
Par exemple :

$user=array('Moe','Larry','Curly'); 
$user=serialize($stooges); 
echo &#39;<pre class="brush:php;toolbar:false">&#39;; 
print_r($user); 
echo &#39;<br />&#39;; 
print_r(unserialize($user));
Copier après la connexion

Résultat :

a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";}
Array ( [0] => Moe [1] => Larry [2] => Curly )
Copier après la connexion

Notez que lorsque la valeur du tableau contient des caractères tels que des guillemets doubles, des guillemets simples, des deux-points ou du chinois, ils sont désérialisés Après le formatage, des problèmes tels que des caractères tronqués ou un formatage peuvent survenir.

Pour résoudre le problème du code tronqué, vous pouvez utiliser les deux fonctions base64_encode et base64_decode .
Par exemple :

$user=array(&#39;Moe&#39;,&#39;Larry&#39;,&#39;Curly&#39;); 
$user=base64_encode(serialize($user)); 
$user=unserialize(base64_decode($user));
Copier après la connexion

De cette façon, il n'y aura pas de problèmes de code tronqué, mais l'encodage base64 augmente la longueur de la chaîne stockée.

À partir de ce qui précède, nous pouvons résumer une propre fonction de sérialisation et de désérialisation , comme suit :

function my_serialize($obj_array){ 
  return base64_encode(gzcompress(serialize($obj_array))); 
} 
//反序列化 
function my_unserialize($str){ 
  return unserialize(gzuncompress(base64_decode($str))); 
}
Copier après la connexion

Résumé : Ce qui précède est l'intégralité contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Explication détaillée de l'utilisation et exemples du fichier de configuration du moteur de modèle PHP Smarty dans les variables de modèle

À propos Solution de lecture PHP aux caractères chinois tronqués dans les données mssql json

Utilisation et exemple d'analyse des variables réservées dans le moteur de modèle PHP Smarty

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal