class Person{
//The following is Person’s member attributes
var $name; //Person’s name
var $sex; //Person’s gender
var $age; //Person’s age
//Define a construction method The parameters are assigned attributes name $name, gender $sex and age $age
function __construct($name="", $sex="", $age=""){
$this->name =$name;
$this->sex=$sex;
$this->age=$age;
}
//The way this person can speak, tell his own Attribute
function say() {
echo "My name is: ".$this->name." Gender: ".$this->sex." My age is: ".$ this->age."
";
}
}
$p1=new Person("张三", "男", 20);
$p1_string=serialize( $p1); //Serialize an object and return a string
echo $p1_string."
"; //We usually do not parse serialized strings
$p2= unserialize($p1_string); //Deserialize a serialized string into an object $p2
$p2->say();
?>
Output result of the above example: Code snippet
O:6:"Person":3:{s:4:"name";s:4:"Zhang San";s:3:"sex"; s:2:"Male";s:3:"age";i:20;}
My name is: Zhang San Gender: Male My age is: 20
There are two in php5 The magic methods __sleep() method and __wakeup() method, when the object is serialized, will call
a __sleep() method to complete some things before going to bed; and when waking up again, that is, by the binary When the string is reorganized into an object
, another function of PHP, __wakeup(), will be automatically called to do some actions that the object needs to do when it wakes up.
The __sleep() function does not accept any parameters, but returns an array containing the properties that need to be serialized. Attributes not included in
will be ignored during serialization. If there is no __sleep() method, PHP will save all attributes.
Code snippet
Copy code The code is as follows:
class Person{
/ /The following are the member attributes of the person
var $name; //The name of the person
var $sex; //The gender of the person
var $age; //The age of the person
//Definition A constructor parameter is assigned to the attributes name $name, gender $sex and age $age
function __construct($name="", $sex="", $age=""){
$this- >name=$name;
$this->sex=$sex;
$this->age=$age;
}
//The way this person can talk, say Expose your own attribute function say()
{
echo "My name is: ".$this->name." Gender: ".$this->sex." My age is: ".$this->age."
";
}
//When specifying serialization, serialize the $name and $age values in the returned array, ignoring those not in the array Attributes of $sex
function __sleep() {
$arr=array("name", "age");
return($arr);
}
//Regenerate the object when, and reassign $age to 40
function __wakeup() {
$this->age = 40;
}
}
$p1=new Person("Zhang San" , "Male", 20);
//Serialize an object, return a string, call the __sleep() method, ignore the attributes not in the array $sex
$p1_string=serialize( $p1);
echo $p1_string."
"; //We usually do not parse serialized strings
$p2=unserialize($p1_string); //Deserialization formation Object $p2 reassigns $age to 40
$p2->say();
?>
The output value of the above example is:
Execution result
O:6:"Person":2:{s:4:"name";s:4:"Zhang San";s:3:" age";i:20;}
My name is: Zhang San Gender: My age is: 40
http://www.bkjia.com/PHPjc/320618.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/320618.htmlTechArticleSerializing an object sometimes requires transmitting an object over the network. In order to facilitate transmission, the entire object can be Convert it into a binary string, and when it reaches the other end, it will be restored to the original pair...
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