php 序列化和反序列化有什么用?

    技术2022-07-10  107

    php 序列化和反序列化有什么用?

    PHP中什么是序列化有哪些用处? 序列化就是把本来不能直接存储的数据转换成可存储的数据,并且不会丢掉数据格式 serialize(); 反序列化是什么意思呢? 其实就是字面的意思,把序列化的数据,转换成我们需要的格式 unserialize();

    举个栗子

    /* * $array 可以是数组 ,可以是序列化的数据字符 */ function serxl($array){ if(is_array($array)){ return serialize($array); }else{ $array= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $array ); $array= str_replace("\r", "", $array); return unserialize($array); } } /* 在使用过程中发现一些小问题,现在这个函数可以完美使用了。 */ $websites = array('sogou'=>'sgou' , 'so360'=>360 , 'jd'=>'jd' ); $ass = serxl($websites); print_r($ass); //得到 a:3:{s:5:"sogou";s:4:"sgou";s:5:"so360";i:360;s:2:"jd";s:2:"jd";} $xlh = 'a:3:{s:5:"sogou";s:4:"sgou";s:5:"so360";i:360;s:2:"jd";s:2:"jd";}'; $ass = serxl($xlh); print_r($ass); /* 封装一下 array(3) { ["sogou"]=> string(4) "sgou" ["so360"]=> int(360) ["jd"]=> string(2) "jd" } */

    可以把这个当成缓存来用,是个不错的解决方案。

    Processed: 0.012, SQL: 9