在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
http://www.cnblogs.com/A-Song/archive/2011/12/13/2285619.html 转自:http://qing.weibo.com/tag/unserialize 把复杂的数据类型压缩到一个字符串中 serialize() 把变量和它们的值编码成文本形式
unserialize() 恢复原先变量
eg:
$stooges = array('Moe','Larry','Curly'); 结果:a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";}
Array ( [0] => Moe [1] => Larry [2] => Curly )当把这些序列化的数据放在URL中在页面之间会传递时,需要对这些数据调用urlencode(),以确保在其中的URL元字符进行处理:
$shopping = array('Poppy seed bagel' => 2,'Plain Bagel' =>1,'Lox' =>4); margic_quotes_gpc和magic_quotes_runtime配置项的设置会影响传递到unserialize()中的数据。
如果magic_quotes_gpc项是启用的,那么在URL、POST变量以及cookies中传递的数据在反序列化之前必须用stripslashes()进行处理:
$new_cart = unserialize(stripslashes($cart)); //如果magic_quotes_gpc开启 如果magic_quotes_runtime是启用的,那么在向文件中写入序列化的数据之前必须用addslashes()进行处理,而在读取它们之前则必须用stripslashes()进行处理:
$fp = fopen('/tmp/cart','w'); 当对一个对象进行反序列化操作时,PHP会自动地调用其__wakeUp()方法。这样就使得对象能够重新建立起序列化时未能保留的各种状态。例如:数据库连接等。
|
2022-08-18
2022-08-17
2022-07-18
2022-08-18
2022-07-29
请发表评论