您的位置:首页 > 编程语言 > PHP开发

Atitit php序列化 php的serialize序列化和json序列化

2016-05-01 23:49 609 查看
Atitit php序列化 php的serialize序列化和json序列化

PHP
对不同类型的数据用不同的字母进行标示,Yahoo
开发网站提供的Using Serialized PHP with

Yahoo! Web Services
一文中给出所有的字母标示及其含义:

a - array

b - boolean

d - double

i - integer

o - common object

r - reference

s - string

C - custom object

O - class

N - null

R - pointer reference

U - unicode string

N
表示的是NULL,而b、d、i、s

作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax
4.1.数组的序列化

数组(array)通常被序列化为:

a:<n>:{<key 1><value 1><key 2><value 2>...<key n><value n>}

其中<n>
表示数组元素的个数,<key 1>、<key 2>……<key n>
表示数组下标,<value 1>、<value

2>……<value n>
表示与下标相对应的数组元素的值。

下标的类型只能是整型或者字符串型,序列化后的格式跟整型和字符串型数据序列化后的格式相同。

数组元素值可以是任意类型,其序列化后的格式与其所对应的类型序列化后的格式相同。

4.2.对象的序列化

对象(object)通常被序列化为:

O:<length>:"<class name>":<n>:{<field name 1><field value 1><field name

2><field value 2>...<field name n><field value n>}

其中<length>
表示对象的类名<class name>
的字符串长度。<n>
表示对象中的字段1个数。这些字段

包括在对象所在类及其祖先类中用var、public、protected
和private
声明的字段,但是不包括static


const
声明的静态字段。也就是说只有实例(instance)字段。

<filed name 1>、<filed name 2>……<filed name n>表示每个字段的字段名,而<filed
value 1>、

<filed value 2>……<filed value n>
则表示与字段名所对应的字段值。

字段名是字符串型,序列化后格式与字符串型数据序列化后的格式相同。

字段值可以是任意类型,其序列化后的格式与其所对应的类型序列化后的格式相同。

但字段名的序列化与它们声明的可见性是有关的,下面重点讨论一下关于字段名的序列化。

PHP序列化_serialize_格式详解
- 低调走过
- 博客频道
- CSDN.NET.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: