php 序列化与反序列化如何使用与作用

刚坐在车里就开始电闪雷鸣。听着隆隆的雷声,没有恐慌,到有几分振奋人心的舒心感、酣畅淋漓感。朝外望去,突然间,狂风夹杂着骤雨席卷而来,一泻千里。瞬间暴雨如注,打在地上,溅起朵朵浪花,在热浪的蒸腾下激起层层水雾。满大街是慌乱的人群,行人跑着、叫喊着,唧唧喳喳的赶着在房檐下躲雨。这时候伞是没有用的,挡不住狂风暴雨的袭击,无论是带了伞的,还是没带伞的,全都躲在了房檐下。

php 中的序列化函数 serialize(),可以将不能直接存储的数据转换成可以存储的数据,而且不会丢失数据格式。当然php也提供了一个反序列化的函数 unserialize() ,将序列化后的数据再转换为序列化之前的数据以及格式。

php serialize() 序列化函数

serialize():将一些数组或对象不容易存储的数据转换成可以存储的字符串并返回!

语法:

serialize ($value)

参数:$value: 将要被序列化的对象或数组!

示例1:php 序列化一个数组

$arr = array(
    'name' => 'mochu',
    'age'  => '18',
    'Host' => 'http://feiniaomy.com',
    'aihao' => array('编程','画画','PC')
);
$str = serialize($arr);
var_dump($str);

打印结果:

string(152) "a:4:{s:4:"name";s:5:"mochu";s:3:"age";s:2:"18";s:4:"Host";s:20:"http://feiniaomy.com";s:5:"aihao";a:3:{i:0;s:6:"编程";i:1;s:6:"画画";i:2;s:2:"PC";}}"

示例2:php序列化一个对象

class A {
    public $name = 'feiniaomy.com';
    public function echo_name() {
        echo $this->name;
    }
}
$a = new A;
$str = serialize($a);
var_dump($str);

结果:

string(44) "O:1:"A":1:{s:4:"name";s:13:"feiniaomy.com";}"

php unserialize() 反序列化函数

php 中的 unserialize() 函数,可以将已经序列化后的字符串还原成没有序列化之前的数据以及结构!

示例1:php 反序列化对象序列化后的字符串

//这是上面示例中打印的结果,对象参考上面的示例2
$str = 'O:1:"A":1:{s:4:"name";s:13:"feiniaomy.com";}';
$a = unserialize($str);
echo $a->echo_name();
// 输出结果:feiniaomy.com

示例2:php 反序列化数组序列化后的字符串

//这是上面示例1中打印的结果
$str = 'a:4:{s:4:"name";s:5:"mochu";s:3:"age";s:2:"18";s:4:"Host";s:20:"http://feiniaomy.com";s:5:"aihao";a:3:{i:0;s:6:"编程";i:1;s:6:"画画";i:2;s:2:"PC";}}';
$arr = unserialize($str);
var_dump($arr);

打印结果:

array(4) {
  ["name"]=>
  string(5) "mochu"
  ["age"]=>
  string(2) "18"
  ["Host"]=>
  string(20) "http://feiniaomy.com"
  ["aihao"]=>
  array(3) {
    [0]=>
    string(6) "编程"
    [1]=>
    string(6) "画画"
    [2]=>
    string(2) "PC"
  }
}

以上就是php 序列化与反序列化如何使用与作用。不要总是用伤感的眼光去看待自己的过去。过去的已经过去,过去的永远成为历史。无论你过去是怎样的辉煌,怎么样的快乐,也无论你过去是怎样的渺小,怎么样的哀痛!随着时光的流逝,这所有的一切都已经被历史岁所冲淡,甚至烟消云散了。唯一留下的仅是淡淡的回忆。更多关于php 序列化与反序列化如何使用与作用请关注haodaima.com其它相关文章!

标签: php教程 php