Home > php教程 > PHP源码 > body text

The use of serialization in PHP

WBOY
Release: 2016-08-20 08:47:22
Original
1574 people have browsed it
Jump to [1] [2] [3] [Full screen preview]
<?
	/*
		作者 : shyhero
		邮箱 : shyhero@
		Q  Q : 1757424878

	 */
	class Person{				//声明一个Person类
		public $age;
		private $name;
		protected $sex;

		public function __construct($age="",$name="",$sex=""){
			$this -> age = $age;
			$this -> name = $name;
			$this -> sex = $sex;
		}

		public function say(){
			return $this -> age." ".$this -> name." ".$this -> sex;
		}

		function __sleep(){		//指定串行化时能提取的成员属性,没有参数,但是必须返回一个数组
			$arr = array("age","name");
			return $arr;
		}

		function __wakeup(){	//指定反串行化时,提取出来的值
			$this -> sex = "woman";
		}
	}

Copy after login

2. [code][PHP] code Jump to [1] [2] [3] [Full screen preview]

<?
	require("./Person.class.php");

	$p = new Person(21,"du","man");	//定义Person类对象
	$pString = serialize($p);	//对对象进行串行化
	file_put_contents("./file.txt",$pString);//存到文件里
Copy after login

3. [code][PHP] code Jump to [1] [2] [3] [Full screen preview]

<?
	require("./Person.class.php");//反串行化时,也要包含原类

	$pString = file_get_contents("./file.txt");//从文件中取出串行化的值
	$p = unserialize($pString);//进行反串行化	
	var_dump($p);	//这个 $p就是之前那个串行化的对象,一样用,但是里面的值被我改了
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template