Home >Backend Development >PHP Tutorial >PHP serialization and deserialization example analysis
This article mainly introduces PHP serialization and deserialization, and analyzes PHP object-oriented programming and the serialization and deserialization related usage skills of the serialize and unserialize functions in the form of examples. Friends who need it You can refer to the following examples of
This article describes PHP serialization and deserialization. Share it with everyone for your reference, the details are as follows:
Object is also a data type stored in memory, and its lifespan usually ends with the termination of the program that generated the object. Sometimes you may need to save the state of an object and restore it when needed. Serialization converts each object into a binary string.
<?php class Person { var $name; var $sex; var $age; function __construct($name = "", $sex = "男", $age = 22) { $this->name = $name; $this->sex = $sex; $this->age = $age; } function say() { echo $this->name . "在说话<br/>"; } function run() { echo "在走路·<br/>"; } //串行化的时候自动调用,成员$sex被忽略,只串行$name,$age function __sleep() { $arr = array("name","age"); return $arr; } //反串行化时自动调用 function __wakeup() { $this->age = 33; } } class Student extends Person { var $school; function __construct($name = "", $sex = "男", $age = 22,$school="") { parent::__construct($name,$sex,$age); $this->school = $school; } function study() { echo $this->name."正在".$this->school."学习<br/>"; } } class Teacher extends Student { var $wage; function teaching() { echo $this->name."正在".$this->school."教学,每月工资为".$this->wage."<br/>"; } //如果调用了不存在的方法,将会自动调用__call(),不会报错 function __call($functionName,$args) { echo "函数名:".$functionName; print_r($args); echo "<br/>"; } } $teacher1 = new Teacher("kaifu","男",22); $teacher1->school = "edu"; $teacher1->wage = 4000; $teacher1->say(); $teacher1->study(); $teacher1->teaching(); $teacher1->hello(1,2,3); ?>
<?php require_once 'Person.php'; $teacher = new Teacher("tom","男",22); $teacher_str = serialize($teacher); file_put_contents("file.txt", $teacher_str); //反串行化 $objStr = file_get_contents("file.txt"); $t = unserialize($objStr); echo $t->age; ?>
Serialized file.txt:
O:7:"Teacher":2:{s:4:"name";s:3:"tom";s:3:"age";i:22;}
The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
Serialization usage example in PHP
The above is the detailed content of PHP serialization and deserialization example analysis. For more information, please follow other related articles on the PHP Chinese website!