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

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

青灯夜游
青灯夜游original
2022-04-26 17:13:252029parcourir

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)

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;
?>

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)

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);
?>

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!

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