• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php序列化函数的区别

php 搞代码 4年前 (2022-01-04) 24次浏览 已收录 0个评论

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&<mark style="color:transparent">来源gaodaimacom搞#代%码网</mark>quot;//  ["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序列化函数的区别的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php序列化函数的区别

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址