Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 334|回复: 0

[默认分类] php函数serialize()与unserialize()

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-12 15:52:02 | 显示全部楼层 |阅读模式
    serialize()和unserialize()在php手册上的解释是:
    serialize — Generates a storable representation of a value
    serialize — 产生一个可存储的值的表示
    unserialize — Creates a PHP value from a stored representation
    unserialize — 从已存储的表示中创建 PHP 的值


    <?php


    //声明一个类


    class
    dog {



       
    var
    $name;

       
    var
    $age;

       
    var
    $owner;



       
    function
    dog(
    $in_name
    =
    "unnamed",
    $in_age
    =
    "0",
    $in_owner
    =
    "unknown") {

            
    $this
    ->
    name
    =
    $in_name;

            
    $this
    ->
    age
    =
    $in_age;

            
    $this
    ->
    owner
    =
    $in_owner;

        }



       
    function
    getage() {

            
    return (
    $this
    ->
    age
    *
    365);

        }

       

       
    function
    getowner() {

            
    return (
    $this
    ->
    owner);

        }

       

       
    function
    getname() {

            
    return (
    $this
    ->
    name);

        }

    }


    //实例化这个类


    $ourfirstdog
    =
    new dog(
    "Rover",
    12,
    "Lisa and Graham");


    //用serialize函数将这个实例转化为一个序列化的字符串


    $dogdisc
    =
    serialize(
    $ourfirstdog);


    print
    $dogdisc;
    //$ourfirstdog 已经序列化为字符串 O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i:12;s:5:"owner";s:15:"Lisa and Graham";}




    print
    "<BR>";




    /*


    -----------------------------------------------------------------------------------------


        在这里你可以将字符串 $dogdisc 存储到任何地方如 session,cookie,数据库,php文件


    -----------------------------------------------------------------------------------------


    */




    //我们在此注销这个类


    unset(
    $ourfirstdog);




    /*    还原操作   */




    /*


    -----------------------------------------------------------------------------------------


        在这里将字符串 $dogdisc 从你存储的地方读出来如 session,cookie,数据库,php文件


    -----------------------------------------------------------------------------------------


    */






    //我们在这里用 unserialize() 还原已经序列化的对象


    $pet
    =
    unserialize(
    $dogdisc);
    //此时的 $pet 已经是前面的 $ourfirstdog 对象了


    //获得年龄和名字属性


    $old
    =
    $pet
    ->
    getage();


    $name
    =
    $pet
    ->
    getname();


    //这个类此时无需实例化可以继续使用,而且属性和值都是保持在序列化之前的状态


    print
    "Our first dog is called
    $name
    and is
    $old
    days old<br>";


    print
    "<BR>";


    ?>
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-3-29 16:36 , Processed in 0.342717 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表