PHP 序列化与反序列化

<?php
class Stu{
    public $name;
    public $sex;
    public function intro(){
        print_r($this->name."--".$this->sex);        
    }
} 

$one = new Stu();
$one->name = "chenbin";
$one->sex = "man";
//$one->intro();

/*print_r((array)$one);
var_dump($one);*/

$str = serialize($one);
file_put_contents("one.txt", $str);
//反序列化
$str = file_get_contents('one.txt');
$one = unserialize($str);
echo $one->name;

$arr = $arrayName = array('a' => 1,'b'=>2 );
$str = serialize($arr);
file_put_contents('one.txt', $str);
$str = file_get_contents('one.txt');
$str = unserialize($str);
print_r($str);

?>

序列化。把对象按照一定规则,变成一段字符串,反序列化,把一段字符串,转化成一个对象。

猜想:

  当new一个对象的时候,申请了一块内存,保存了这个序列化后的代码,当再次用到的时候,反序列化,得到这个对象所有。

     程序中,不管是数组,字符串,任何东西,都可以看成是一个对象。他们都在自己的生命周期内传递着各自的信息。

     通过var_dump 和 print_r(array($obj)),其实对象就是数组模拟的。

积累知识,分享知识,学习知识。
原文地址:https://www.cnblogs.com/bin-pureLife/p/4312187.html