今天看class.quickskin.PHP代码的时候,看的一个没有见过的函数serialize,大神和小百都问了,也没弄清个头绪,结果一想本地测试一下不就得了,又猪头了一次。。。。
其实这样的问题很简单,自己动手一下就解决,很多时候还是我们太懒了。。。。
用语言来解释程序往往是很难的,尤其是像我这样的菜菜,很多时候还是看代码来得更容易些。
PHP5 手册里是的解释如下,咋一看有点云里雾里的感觉,但是测试之后再看一遍就明白多了。
简单说serialize($param)就是把$param的值序列化,貌似以前看过UCHOME数据库里某些字段就是存储的这样的数据(a:1:{s:7:"apppath";s:0:"";}),而unserialize($param)就像serialize的逆向操作,将一个序列化值转换为对应的字符串,该转换对数字变量和字符串变量可行,但是对数组和对象实例分别输出“Array”和“Catchable fatal error: Object of class Object could not be converted to string in ”错误信息。
serialize()可处理处资源类型外所有的类型,也可以序列化对象
<?php $array = array(); $array['keys'] = 'www'; $array['values']='11111'; $a = serialize($array); echo $a; unset($array); $a = unserialize($a); print_r($a); ?>
输出
a:2:{s:4:"keys";s:3:"www";s:6:"values";s:5:"11111";}
Array ( [keys] => www [values] => 11111 )
对类的操作也一样
以上是serialize()和unserialize()函数的实例讲解的详细内容。更多信息请关注PHP中文网其他相关文章!