Home  >  Article  >  Backend Development  >  Can't php be serialized?

Can't php be serialized?

青灯夜游
青灯夜游Original
2022-04-26 17:13:251959browse

php can achieve serialization. In PHP, you can use the serialize() function to implement serialization and convert the value into a string that can be stored, with the syntax "serialize (variable to be serialized)"; you can also use the unserialize() function to implement deserialization and re- Change the string back to its original value in PHP.

Can't php be serialized?

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

The so-called serialization is to put a The process of converting a variable into a string that can be saved or transferred. Deserialization is to convert this string into the original variable at the appropriate time for use. The combination of these two processes can easily complete data storage and transmission operations, making the program more maintainable.

php can also achieve serialization.

In PHP, you can use the serialize() function to implement serialization and convert the value into a string that can be stored; you can also use the unserialize() function to change the string back to the original PHP The value, that is, deserialization.

The syntax format of the serialize() function is as follows:

serialize(mixed $value)

where $value is the variable to be serialized.

The serialize() function can handle any type except resource. When serializing an object, PHP calls the object's __sleep() member function before the sequence action. This allows any cleanup operations to be done before the object is serialized. Similarly, when an object is deserialized using unserialize(), the __wakeup() member function is called.

[Example] Use the serialize() function to serialize an object.

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

Cant php be serialized?

Extended knowledge: deserialization

When you use the serialize() function to serialize the object, you can get this Save the string to a file or database, and then use the unserialize() function to deserialize the string where needed. The syntax format of the unserialize() function is as follows:

unserialize(string $str)

Among them, $ str is a string serialized using the serialize() function. If the incoming string cannot be deserialized, FALSE is returned and an E_NOTICE is generated.

[Example] Deserialize the string obtained above.

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

Cant php be serialized?

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of Can't php be serialized?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn