serialize()和unserialize()函数的实例讲解

零下一度
零下一度 原创
2023-03-13 07:42:01 876浏览

今天看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中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。