首頁 > php教程 > PHP源码 > PHP中串行化的使用

PHP中串行化的使用

WBOY
發布: 2016-08-20 08:47:22
原創
1597 人瀏覽過
跳至 [1] [2] [3] [全螢幕預覽]
<?
	/*
		作者 : 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";
		}
	}

登入後複製

2. [代碼][PHP]代碼     跳至 [1] [2] [3] [全螢幕預覽]

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

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

3. [代碼][PHP]代碼     跳至 [1] [2] [3] [全螢幕預覽]

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

	$pString = file_get_contents("./file.txt");//从文件中取出串行化的值
	$p = unserialize($pString);//进行反串行化	
	var_dump($p);	//这个 $p就是之前那个串行化的对象,一样用,但是里面的值被我改了
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板