php序列化和反序列化

一 使用系统函数serialize和unserilazie

<?php

class A
{
	public $a = "aa";
	public $b = 10;
	function __toString()
	{
		return $this->a."{$this->b}";
	}
}

$a = new A();
echo $a;

//序列化
$str = serialize($a);
file_put_contents("A.txt",$str);

//反序列化
$str = file_get_contents("A.txt");
$b = unserialize($str);

echo $b;

 当只想要序列化对象的部分属性时,使用__sleep()函数,该函数需要返回一个数组,数组内存放的是需要序列化的属性

    function __sleep()
    {
        return array("a");
    }

当反序列化时候,会自动调用 __wakeup()函数,和构造方法的作用是差不多的

	function __wakeup()
	{
		$this->a = "waa";
	}

  

二 数组的序列化成json

序列化使用json_encode 反序列化使用json_decode

<?php

$arr = array("name"=>"zhangsan","age"=>12,"sex"=>"男");
$str = json_encode($arr);
echo $str;
$ret = json_decode($str,true);
print_r($ret);

反序列化的时候,json_decode第二个参数默认false,返回一个对象,当为true时候,返回的是一个数组

上一篇:Tcl 简单介绍及特性


下一篇:Jenkins-cli基本用法