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()与unserialize(),php官方文档中是这样解释的:       serialize — Generates a storable representation o...
  • tashanhongye
  • tashanhongye
  • 2015年08月22日 00:49
  • 914

[转]JavaScript 版本的 PHP serialize/unserialize 完整实现

本文来自于:http://www.coolcode.cn/?p=171作者:Ma Bingyao以前写 PHPRPC 实现时,JavaScript 版本的序列化实现是修改自 http://www.de...
  • heiyeshuwu
  • heiyeshuwu
  • 2006年06月07日 23:15
  • 5451

php serialize()和unserialize()的一个坑

有个业务需求
  • u014604026
  • u014604026
  • 2014年09月17日 10:43
  • 2076

PHP多种序列化/反序列化的方法 serialize,json_encode等

序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。  1.  seria...
  • z_p_h
  • z_p_h
  • 2014年03月11日 11:25
  • 2041

长度问题:php函数unserialize数据返回false问题分析

unserialize的这个问题是由一个emlog论坛用户在使用时报错而发现的问题表现情况如下:emlog缓存的保存方式是将php的数据对象(数组)序列化(serialize)后以文件的形式存放,读取...
  • CrazyStarbnu
  • CrazyStarbnu
  • 2011年06月24日 14:04
  • 643

php unserialize反序列化报错问题

一开始在本地测试的时候,取序列化值得时候,直接是unserialize(数组)["名称"],这样使用,没问题,也不报错。后来传到服务器上以后(tp框架),莫名其妙报错,也没有具体错误原因。挨个方法调试...
  • huihuangjiuai
  • huihuangjiuai
  • 2014年10月30日 10:48
  • 1229

java 实现PHP serialize() unserialize接口

// 接口/** @ClassName Serializable * @Description java 实现PHP serialize() unserialize接口 * @author j...
  • deng11342
  • deng11342
  • 2015年07月11日 11:07
  • 3669

php serialize与unserialize函数

serialize() 将数组转换为对象 unserialize () 将转换的数组还原$array = array(); $array['key'] = 'website'; $array['...
  • u010265663
  • u010265663
  • 2016年03月02日 19:07
  • 220

php函数serialize()与unserialize()

serialize()和unserialize()在php手册上的解释是: serialize — Generates a storable representation of a value s...
  • lwlbj
  • lwlbj
  • 2014年03月18日 13:24
  • 400

php unserialize 返回false的解决方法

php 提供serialize(序列化) 与 unserialize(反序列化)方法。 使用serialize序列化后,再使用unserialize反序列化就可以获取原来的数据。...
  • fdipzone
  • fdipzone
  • 2014年07月23日 21:48
  • 26479
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php函数serialize()与unserialize()
举报原因:
原因补充:

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