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

墨辰丷
墨辰丷original
2018-06-06 15:51:351357parcourir

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

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 )

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

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))); 
}

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!

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