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

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

  1. PHP中什么是序列化有哪些用处?
    序列化就是把本来不能直接存储的数据转换成可存储的数据,并且不会丢掉数据格式
serialize();
  1. 反序列化是什么意思呢?
    其实就是字面的意思,把序列化的数据,转换成我们需要的格式
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"
}
*/

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值