Maison >développement back-end >Problème PHP >PHP ne peut-il pas être sérialisé ?
php peut réaliser la sérialisation. En PHP, vous pouvez utiliser la fonction Serialize() pour implémenter la sérialisation et convertir la valeur en une chaîne pouvant être stockée, avec la syntaxe "serialize (variable à sérialiser)" vous pouvez également utiliser la fonction unserialize() pour implémenter. désérialisation et re-Remplacez la chaîne à sa valeur d'origine en PHP.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
La soi-disant sérialisation est le processus de conversion d'une variable en mémoire en une chaîne qui peut être enregistrée ou transmise. La désérialisation consiste à convertir cette chaîne en variable d'origine au moment approprié pour son utilisation. La combinaison de ces deux processus peut facilement compléter les opérations de stockage et de transmission de données, rendant le programme plus maintenable.
php peut également implémenter la sérialisation.
En PHP, vous pouvez utiliser la fonction serialize() pour implémenter la sérialisation et convertir la valeur en une chaîne qui peut être stockée ; vous pouvez également utiliser la fonction unserialize() pour rétablir la valeur d'origine de PHP, qui est la sérialisation inverse. Le format de syntaxe de la fonction
serialize() est le suivant :
serialize(mixed $value)
où $value est la variable à sérialiser. La fonction
serialize() peut gérer n'importe quel type sauf la ressource. Lors de la sérialisation d'un objet, PHP appelle la fonction membre __sleep() de l'objet avant l'action de séquence. Cela permet d'effectuer toutes les opérations de nettoyage avant que l'objet ne soit sérialisé. De même, lorsqu'un objet est désérialisé à l'aide d'unserialize(), la fonction membre __wakeup() est appelée.
【Exemple】Utilisez la fonction serialize() pour sérialiser un objet.
<?php header('content-type:text/html;charset=utf-8'); class WebSit{ public $name; public $url; function __construct($name, $url){ $this->name = $name; $this->url = $url; } } $websit = new WebSit('php中文网', 'https://www.php.cn/'); $ser_str = serialize($websit); echo $ser_str; ?>
Connaissances étendues : Désérialisation
Après avoir utilisé la fonction Serialize() pour sérialiser l'objet, vous pouvez enregistrer la chaîne résultante dans un fichier ou une base de données, puis utiliser la fonction unserialize (si nécessaire) pour désérialiser cette chaîne. . Le format de syntaxe de la fonction unserialize() est le suivant :
unserialize(string $str)
Parmi eux, $str est la chaîne sérialisée à l'aide de la fonction serialize(). Si la chaîne entrante ne peut pas être désérialisée, FALSE est renvoyé et un E_NOTICE est généré.
【Exemple】 Désérialisez la chaîne obtenue ci-dessus.
<?php header('content-type:text/html;charset=utf-8'); class WebSit{ public $name; public $url; function __construct($name, $url){ $this->name = $name; $this->url = $url; } } $str = 'O:6:"WebSit":2:{s:4:"name";s:12:"php中文网";s:3:"url";s:19:"https://www.php.cn/";}'; $websit = unserialize($str); var_dump($websit); ?>
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!