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)),其实对象就是数组模拟的。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。