Maison > Article > développement back-end > Comparaison entre la fonction de sérialisation php et la fonction de sérialisation native
Cet article présente principalement la comparaison des fonctions de sérialisation PHP serialize() et unserialize() avec les fonctions de sérialisation natives de PHP. Les amis dans le besoin peuvent s'y référer.
Il existe en PHP un bon moyen de formater des chaînes et de les convertir en tableaux ou en objets, c'est-à-dire la sérialisation.
Il existe deux façons de sérialiser les variables.
L'exemple suivant, utilisant les fonctions serialize() et unserialize() :
// a complex array $myvar = array( 'hello', 42, array(1,'two'), 'apple' ); // convert to a string $string = serialize($myvar); echo $string; /* prints a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";} */ // you can reproduce the original variable $newvar = unserialize($string); print_r($newvar); /* prints Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple ) */
Il s'agit de la méthode de sérialisation native de PHP.
Cependant, en raison de la popularité de JSON ces dernières années, la prise en charge du format JSON a été ajoutée à PHP5.2.
Vous pouvez désormais utiliser les fonctions json_encode() et json_decode() :
// a complex array $myvar = array( 'hello', 42, array(1,'two'), 'apple' ); // convert to a string $string = json_encode($myvar); echo $string; /* prints ["hello",42,[1,"two"],"apple"] */ // you can reproduce the original variable $newvar = json_decode($string); print_r($newvar); /* prints Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple ) */
Cela sera plus efficace et surtout compatible avec de nombreux autres langages comme JavaScript.
Remarque : Pour les objets complexes, certaines informations peuvent être perdues.
Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
php Correspondance régulière et traversée de tableaux
Fonctions de requête de base de données PHP et de correspondance de mot de passe
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!