不同类型的数据用不同的字母标识:
- 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
1、a - array
a:<数组元素个数>:{<键1><值1><键2><值2>...<键n><值n>}
2、b - boolean
echo serialize(true);
//b:1;
echo serialize(false);
//b:0;
3、d - double
echo serialize(1.00);
//d:1;
4、i - integer
echo serialize(1);
//i:1
5、o - common object
6、r - reference
7、s - string
echo serialize(‘PRC‘);
//s:<字符串字节数>:"<字符串>"
//s:3:"PRC";
8、C - custom object
9、O - class
O:<类名长度>:"<类名>":<字段个数>:{<字段名1><字段值1><字段名2><字段值2>...<字段名n><字段值n>}
这些字段包括 var public protected private声明的字段,但是不包括static和const声明的静态字段。
protected声明的字段会在字段名前加上\0*\0
private声明的字段会在字段名前加上\0<声明该私有字段的类的类名>\0