Maison  >  Article  >  développement back-end  >  Comparaison entre la fonction de sérialisation php et la fonction de sérialisation native

Comparaison entre la fonction de sérialisation php et la fonction de sérialisation native

墨辰丷
墨辰丷original
2018-06-11 10:09:562159parcourir

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 implémente une connexion de base de données de base, l'exécution d'instructions SQL et des invites d'erreur

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!

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