php函数serialize()与unserialize()

原创 2017年08月14日 10:34:38

serialize() :产生可以存储的一种值得表示
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>';
?>
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

php函数 序列化serialize() 与 反序列化unserialize()

手册的描述: serialize (PHP 4, PHP 5, PHP 7) serialize — 产生一个可存储的值的表示 描述  string seri...

php函数serialize()与unserialize()

本文转自:http://zxianf.blog.163.com/blog/static/30120701201072443623381/ php函数serialize()与unserialize...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

PHP序列化反序列化serialize和unserialize函数

昨天网上看到一道面试题,如下: “类的属性可以序列化后保存到session中,从而以后可以恢复整个类,这要用到的函数是?” 我记得原来老师说过序列化函数是"serialize",查了下,果不其然,今天...

php函数serialize()与unserialize()

php函数serialize()与unserialize()说明及案例。想要将已序列化的字符串变回 PHP 的值,可使用unserialize()。serialize()可处理除了resource之外...

php serialize()与unserialize()不完全研究

serialize()和unserialize()在php手册上的解释是: serialize — Generates a storable representation of a value s...

php 使用serialize() 和 unserialize() 让对象成超级全局变量

手册里面的原话和一些总结: php函数serialize()与unserialize()说明及案例。想要将已序列化的字符串变回 PHP 的值,可使用unserialize()。serialize...

php面向对象(OOP)—序列化(串行化)与反序列化之serialize(),unserialize,__sleep(),__wakeup()

有时候需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,再还原为原来的对象,这个过程称之为串行化(也叫序列化), 就像我们现在想把一辆汽车通过轮船运到美国去,因为...

php serialize(),unserialize()

序列化serialize()与反序列化unserialize(): 序列化serialize():就是将一个变量所代表的 “内存数据”转换为“字符串”的形式,并持久保存在硬盘(写入文件中保存)上的一...

php serialize & unserialize

两者在php手册上的解释是: serialize — Generates a storable representation of a value serialize — 产生一个可存储的值的表示...

Serialize/Unserialize破坏单例

Serialize/Unserialize破坏单例
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)