Ownsight

?找回密码
?立即注册
搜索
热搜: 活动 交友 discuz
查看: 1061|回复: 0
打印 上一主题 下一主题

PHP 函数 serialize unserialize

[复制链接]

803

主题

903

帖子

3201

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3201
跳转到指定楼层
楼主
发表于 2014-9-28 10:24:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
函数 serialize字面意思就是序列化,在C#等很多语言中都有这个关键词,他的基本意思就是用一种通用的方式储存所有的信息,不损失信息地保存所有信息,同时可以作为中间形态可以进行相关的处理。
在php中,他就是把 任何类型的 php 数据 变成字符串,包含类型,数据等所有信息,最后通过 unserialize能够返回原有信息,下面是部分举例


/*
Anatomy of a serialize()'ed value:

String
s:size:value;

Integer
i:value;

Boolean
b:value; (does not store "true" or "false", does store '1' or '0')

Null
N;

Array
a:size:{key definition;value definition;(repeated per element)}

Object
O:strlen(object name)bject namebject size:{s:strlen(property name):property name:property definition;(repeated per property)}

String values are always in double quotes
Array keys are always integers or strings
? ? "null => 'value'" equates to 's:0:"";s:5:"value";',
? ? "true => 'value'" equates to 'i:1;s:5:"value";',
? ? "false => 'value'" equates to 'i:0;s:5:"value";',
? ? "array(whatever the contents) => 'value'" equates to an "illegal offset type" warning because you can't use an
? ? array as a key; however, if you use a variable containing an array as a key, it will equate to 's:5:"Array";s:5:"value";',
? ???and
? ? attempting to use an object as a key will result in the same behavior as using an array will.
*/
?>
参考:
http://php.net/manual/en/function.serialize.php


这里补充一下,w3网站比较全面,包括所有的网页相关的技术,php html css js 等等,但是php而言,php.net应该是最全面的,还有很多人的备注,这个是最有用的


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表