php提供了这么两个函数,一个是序列化serialize,另一个是反序列化unserialize,那么这两个函数到底有什么用处了?
序列化可以将php中任何数据类型除resource之外序列化成一个字符串,在此,我们以一个对象为例,随便定义一个class
class vb{
private $a;
private $b;
function __construct($a='peng',$b='luo'){
$this->a=$a;
$this->b=$b;
}
public function speak(){
return $this->a.$this->b;
}
}
$obj=new vb();
我们将$obj序列化
$c= serialize($obj);在打印出$c,得到 O:2:"vb":2{s:5:"vba";s:4:"peng";s:5:"vbb";s:3:"luo";}
我们再将这个字符串反序列化,
$c=unserialize($c);在打印出来
print_r($c);
vb Object ( [a:private] => peng [b:private] => luo )
此时我们得到的是一个对象,我们可以调用对象里的属性和方法
echo $c->speak();
其实,这两个函数并不难,只是很多人并不知道什么时候用他,有什么用处,
这个函数最大的用处是,你想要保存复杂的数据类型到文件里或者是数据库里的时候,就可以显现出他的作用来了
分享到:
相关推荐
在php中serialize()与unserialize()函数是一对函数,下面本文章就来为各位同学介绍serialize()与unserialize()函数的使用例子,希望能帮助到各位。
serialize()和unserialize()在php手册上的解释是:serialize — Generates a storable representation of a valueserialize — 产生一个可存储的值的表示unserialize — Creates a PHP value from a stored ...
本文实例讲述了php函数serialize()与unserialize()用法。分享给大家供大家参考。具体方法如下: 该实例主要讲述了php函数serialize()与unserialize()说明及案例。想要将已序列化的字符串变回 PHP 的值,可使用...
Golang 实现 PHP里的 serialize() 、 unserialize() 安装 go get -u github.com/techleeone/gophp/serialize 用法 package main import ( fmt github.com/techleeone/gophp/serialize ) func main() { str := `...
php 提供serialize(序列化) 与unserialize(反序列化)方法。 使用serialize序列化后,再使用unserialize反序列化就可以获取原来的数据。 先来看看如下程序实例: <?php $arr = array( 'name' => 'fdipzone', '...
以下示例,使用 serialize() 和 unserialize() 函数: // a complex array $myvar = array( 'hello', 42, array(1,'two'), 'apple' ); // convert to a string $string = serialize($myvar); echo $string; /* ...
使用serialize()函数和unserialize()函数,这两个函数的用法真是绝配,一个是进行序列化存储,另一个则是进行序列化恢复,方便极了
VarExporter组件VarExporter组件允许将任何可序列化PHP数据结构... 使用此组件而serialize()或是性能:多亏了OPcache,所产生的代码比使用unserialize()或igbinary_unserialize()显着更快,内存效率更高。 与var_export
PHP(__ wakeup,__ sleep,Serializable,__ serialize,__ unserialize),它还提供了一个实例化程序,该实例化程序无需调用其构造函数或任何其他方法即可创建和填充对象。使用此组件与serialize()或igbinary的...
android(包括java)序列化一个对象传给php去做处理,或是接到php的序列化的对象在java中做处理的工具jar包以及使用方法. 使用方法: byte[] b = null; b = PHPSerializer.serialize(一个对象);//将一个对象序列化后返回...
第一种方法是使用serialize, 第二种方法是使用print_r, 第三种方法是使用var_export, 本文章向大家介绍这三种方法是如何将数组写入到文件的,需要的朋友可以参考一下。 第一:serialize方法 使用 serialize 将...
(1)利用serialize 将数组序列化存储为文本文件,调用时候再使用unserialize 还原 <?php $file='./cache/phone.php'; $array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','...
主要介绍了PHP中串行化用法,结合实例形式分析了php使用serialize与unserialize函数实现串行化与反串行化操作的相关技巧,需要的朋友可以参考下
什么时候使用串行化? 在网络中传输对象的时候 向数据库中保存文件的时候 今天我们要提到四个函数 全部串行化 ...前两个的使用方法我们大概已经介绍过,接下来我们简单介绍一下__sleep()和__wakeup()使用
1. serialize和unserialize函数这两个是序列化和反序列化PHP中数据的常用函数。复制代码 代码如下:<?php$a = array(‘a’=> ‘Apple’ ,’b’ => ‘banana’, ‘c’ => ‘Coconut’);//序列化数组$s = serialize...
1. serialize和unserialize函数 这两个是序列化和反序列化PHP中数据的常用函数。 $a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut'); //序列化数组 $s = serialize($a); echo $s; //输出结果:a:3:...