举个栗子
/* * $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" } */可以把这个当成缓存来用,是个不错的解决方案。