Maison > développement back-end > Problème PHP > PHP ne peut-il pas être sérialisé ?

PHP ne peut-il pas être sérialisé ?

青灯夜游
Libérer: 2023-03-15 20:26:01
original
2031 Les gens l'ont consulté

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.

PHP ne peut-il pas être sérialisé ?

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)
Copier après la connexion

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(&#39;content-type:text/html;charset=utf-8&#39;);   
class WebSit{
    public $name;
    public $url;
    function __construct($name, $url){
        $this->name = $name;
        $this->url  = $url;
    }
}
$websit  = new WebSit(&#39;php中文网&#39;, &#39;https://www.php.cn/&#39;);
$ser_str = serialize($websit);
echo $ser_str;
?>
Copier après la connexion

PHP ne peut-il pas être sérialisé ?

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)
Copier après la connexion

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(&#39;content-type:text/html;charset=utf-8&#39;);   
class WebSit{
    public $name;
    public $url;
    function __construct($name, $url){
        $this->name = $name;
        $this->url  = $url;
    }
}
$str = &#39;O:6:"WebSit":2:{s:4:"name";s:12:"php中文网";s:3:"url";s:19:"https://www.php.cn/";}&#39;;
$websit = unserialize($str);
var_dump($websit);
?>
Copier après la connexion

PHP ne peut-il pas être sérialisé ?

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal