旗下导航:搜·么
当前位置:网站首页 > PHP问题 > 正文

php序列化函数的区分【php题目】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP问题浏览:98


导读:serialize()//把变量和它们的值编码成文本情势,即发生一个可存储的值的示意详解:serialize()返回字符串,此字符串包括了示意value的字撙节...

serialize() //把变量和它们的值编码成文本情势,即发生一个可存储的值的示意

详解:

serialize() 返回字符串,此字符串包括了示意 value 的字撙节,能够存储于任何地方。这有利于存储或通报 PHP 的值,同时不丧失其范例和构造。

unserialize() //恢复本来变量。

详解:

unserialize() 对单一的已序列化的变量举行操纵,将其转换回 PHP 的值。假如通报的字符串不可解序列化,则返回 FALSE,并发生一个 E_NOTICE

$arr=array();
$arr['name']='张三';
$arr['age']='22';
$arr['sex']='男';
$arr['phone']='123456789';
$arr['address']='上海市浦东新区';
var_dump($arr);

//输出:
//  array(5) { 
//  ["name"]=> string(6) "张三"
//  ["age"]=> string(2) "22"
//  ["sex"]=> string(3) "男"
//  ["phone"]=> string(9) "123456789"
//  ["address"]=> string(21) "上海市浦东新区"
//   }

//序列化:
$info=serialize($arr);
var_dump($info);

//输出:
//string(140) "a:5:{s:4:"name";s:6:"张三";s:3:"age";s:2:"22";s:3:"sex";s:3:"男";s:5:"phone";s:9:"123456789";s:7:"address";s:21:"上海市浦东新区";}"

   ////////////////////////申明/////////////////////////////////
//**a:5标志序列化为array包括5个键值对,s:4标志内容为字符串包括4个字符。**//


$zhangsan=unserialize($info);
var_dump($zhangsan);

//输出:
//  array(5) { 
//  ["name"]=> string(6) "张三"
//  ["age"]=> string(2) "22"
//  ["sex"]=> string(3) "男"
//  ["phone"]=> string(9) "123456789"
//  ["address"]=> string(21) "上海市浦东新区"
//   }

想要将已序列化的字符串变回PHP的值,可运用 unserialize()。serialize() 可处置惩罚除了 resource 以外的任何范例。以至能够 serialize() 那些包括了指向其本身援用的数组。你正 serialize() 的数组/对象中的援用也将被存储。

当序列化对象时,PHP 将试图在序列行动之前挪用该对象的成员函数 __sleep()。如许就许可对象在被序列化之前做任何消灭操纵。相似的,当运用 unserialize() 恢复对象时, 将挪用 __wakeup() 成员函数。

以上内容仅供参考!

引荐教程:PHP视频教程

以上就是php序列化函数的区分的细致内容,更多请关注ki4网别的相干文章!

标签:php序列化函数区别