zoukankan      html  css  js  c++  java
  • 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)),其实对象就是数组模拟的。

    积累知识,分享知识,学习知识。
  • 相关阅读:
    进程间通信之数据共享--共享内存
    进程间通信之分工协作-信号灯
    进程间通信之分工协作--锁
    进程间通信之事件通知--信号
    进程间通信之数据传输--Socket
    c++模板特化
    DAG模型:嵌套矩形
    数字三角形
    c柔性数组结构成员
    模板
  • 原文地址:https://www.cnblogs.com/bin-pureLife/p/4312187.html
Copyright © 2011-2022 走看看