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 '<pre class="brush:php;toolbar:false">'; print_r($user); echo '<br />'; 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('Moe','Larry','Curly'); $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 :
À 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!