php中序列化与反序列化
把复杂的数据类型压缩到一个字符串中
serialize() 把变量和它们的值编码成文本形式
unserialize() 恢复原先变量
eg: $stooges = array("Moe","Larry","Curly"); $new = serialize($stooges); print_r($new);echo "
"; print_r(unserialize($new));
结果: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); echo "next";
margic_quotes_gpc和magic_quotes_runtime配置项的设置会影响传递到unserialize()中的数据。
如果magic_quotes_gpc项是启用的,那么在URL、POST变量以及cookies中传递的数据在反序列化之前必须用stripslashes()进行处理: $new_cart = unserialize(stripslashes($cart)); //如果magic_quotes_gpc开启 $new_cart = unserialize($cart);
如果magic_quotes_runtime是启用的,那么在向文件中写入序列化的数据之前必须用addslashes()进行处理,而在读取它们之前则必须用stripslashes()进行处理: $fp = fopen("/tmp/cart","w"); fputs($fp,addslashes(serialize($a))); fclose($fp); //如果magic_quotes_runtime开启 $new_cat = unserialize(stripslashes(file_get_contents("/tmp/cart"))); //如果magic_quotes_runtime关闭 $new_cat = unserialize(file_get_contents("/tmp/cart")); 在启用了magic_quotes_runtime的情况下,从数据库中读取序列化的数据也必须经过stripslashes()的处理,保存到数据库中的序列化数据必须要经过addslashes()的处理,以便能够适当地存储。 mysql_query("insert into cart(id,data) values(1,"".addslashes(serialize($cart))."")"); $rs = mysql_query("select data from cart where id=1"); $ob = mysql_fetch_object($rs); //如果magic_quotes_runtime开启 $new_cart = unserialize(stripslashes($ob->data)); //如果magic_quotes_runtime关闭 $new_cart = unserialize($ob->data);
当对一个对象进行反序列化操作时,PHP会自动地调用其__wakeUp()方法。这样就使得对象能够重新建立起序列化时未能保留的各种状态。例如:数据库连接等。
企业必须摈弃财富驱动,走向价值驱动最近与朋友交流,有两个现象经常被提到。一是南京几家龙头民企集团,近期都因资金链极度困难,不得不业务重组,聚焦主业,砍掉旁枝,从外部引进战略投资者。某集团创始人说,过去贪大求全,今后
十四五,政府投资的五大板块,总规模30万亿魏杰十四五按照新发展理念的要求,要全面启动和提升中国投资。分两部分,一个是政府投资,一个是企业投资,是截然分开的。先谈政府投资,政府投资十四五的核心是公共产品投资,启动了5大类。1
全面启动消费,主要从六大板块入手魏杰全面启动和提升消费,是第一件大事。消费水平是评价一个国家现代化的重要指标。美国3亿多人,每年的消费总额是6万多亿美金,我们14亿人才5万多亿美金,很显然不是一个档次,因此必须要
HUA叔速评ThinkPadP12021首发体验一眨眼的功夫,ThinkPad轻薄移动工作站P1系列已经出到了第四代。无论是16英寸的屏幕升级,还是全新的专业显卡。我认为这一次的进化是有史以来最大的一次。需要测试内容非常多,我也
好用小物thinkplus便携会议全向麦音箱体验0X00叔为什么买他?上班的人的生活,不是在开会就是在开会的路上,或是在准备开会。如果ThinkPad笔记本是为了帮助解商务人士,解决出差和日常办公问题。那么开会能不能有一个方案,
北京东部的人民有口福啦,400道菜只需89就能吃到扶墙而出看到标题肯定有人想,老纸要是吃牛肉拉面89何止吃到扶墙而出,对啊那是拉面,89能吃到啥咱先买个小关子,咱先看看用餐环境,比较随着人民的物质提高,对于用餐环境也是蛮讲究的。肿么样很高
超能打小子第四代惠普战66评测0X00认真的序战66?这名字是认真的吗?转眼间,这个当年名字令人印象深刻的机型,已经更新了四代。2021年,还是那个银色外观,价格亲民的能打小子,战66完成了一次新的蜕变,今天的
老罗有一套,用起来很不安卓的锤子系统,到底好在哪里细算智能手机的发展史,其实智能手机系统远不止现在流行最多的iOS以及Android,从曾经应用最为广泛的诺基亚塞班系统,到号称最安全的系统但是因为软件实在太少失去试用意义,造成最终
稀有物种ThinkBookPlusGen2使用体验0X00意料之外的缘分Think血统?呵呵哒。没有小红点也配?究其原因,想必因为这个相似度高达60的名字,惹得许多ThinkPad老用户对它嗤之以鼻。我曾经用庖丁解牛的方式骂测过T
坚果Pro入列续航最强手机TOP5现在的人大部分都有重度的手机依赖症,因为手机的功能已经被放大,人们已经几乎将手机变成了自己的个人信息中心,因此为了满足手机用户的需求,手机除了要求性能出色之外,续航能力也备受重视。
HTC签约京东未来三年推深度定制产品6月1日,HTC与京东在北京举办签约仪式,双方就未来产品合作达成战略协议,未来三年,HTC每年都将推出京东独家定制款产品。HTC营运长兼技术长陈文俊与京东集团副总裁3C事业部总裁胡