serialize将实例转化为字符串, unserialize() 还原已经序列化的对象
来源:互联网 发布:黑客博客源码 编辑:程序博客网 时间:2024/05/06 04:40
<?php
//serialize.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");
var_dump($ourfirstdog);
//用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);
echo '<hr><hr>';
/* 还原操作 */
/*
-----------------------------------------------------------------------
在这里将字符串 $dogdisc 从你存储的地方读出来如 session,cookie,数据库,php文件
-----------------------------------------------------------------------
*/
//我们在这里用 unserialize() 还原已经序列化的对象
$pet = unserialize($dogdisc); //此时的 $pet 已经是前面的 $ourfirstdog 对象了
var_dump($pet);
//获得年龄和名字属性
$old = $pet->getage();
$name = $pet->getname();
//这个类此时无需实例化可以继续使用,而且属性和值都是保持在序列化之前的状态
print "Our first dog is called $name and is $old days old<br>";
print '<BR>';
?>
object(dog)[1] public 'name' => string 'Rover' (length=5) public 'age' => int 12 public 'owner' => string 'Lisa and Graham' (length=15)
O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i:12;s:5:"owner";s:15:"Lisa and Graham";}
object(dog)[1] public 'name' => string 'Rover' (length=5) public 'age' => int 12 public 'owner' => string 'Lisa and Graham' (length=15)
Our first dog is called Rover and is 4380 days old
- serialize将实例转化为字符串, unserialize() 还原已经序列化的对象
- C#结构体Struct的序列化Serialize和反序列化unserialize为字符串
- serialize unserialize 序列化
- PHP变量序列化serialize与unserialize
- 序列化:json_encode/json_decode 与 serialize/unserialize
- PHP 序列化函数 serialize、unserialize
- 将实体类或者集合序列化为JSON字符串,将JSON字符串反序列化还原为对象
- 将对象转化为字符串
- 拓展jQuery的serialize(),将form表单转化为json对象。
- PHP多种序列化/反序列化的方法serialize和unserialize函数
- javascript中模仿php的serialize和unserialize序列化函数
- PHP序列化反序列化serialize和unserialize函数
- php函数 序列化serialize() 与 反序列化unserialize()
- 序列化serialize和反序列化unserialize
- PHP序列化反序列化serialize和unserialize函数
- 一个反射将对象转化为sql语句的实例
- 序列化 serialize 对象
- php对象serialize、unserialize时与sleep、wakeup的关系
- 利用SolrJ操作solr API完成index操作
- cout的二进制输出实现
- C++编程,输出给定int数组中的重复元素,元素取值有上限
- lintcode: Majority Number
- 详解YUV420数据格式
- serialize将实例转化为字符串, unserialize() 还原已经序列化的对象
- register
- 阅读《Android 从入门到精通》(29)——四大布局
- maven构建多模块应用
- Java 枚举:理解枚举本质
- 标准模板库(STL)之 vector 列传 (二)
- 视觉设计资源大收集
- LoadRunner(二)LR参数文件多列的使用和局部变量超长的问题解决方法
- linux ubuntu 安装openoffice服务