变量,数组,对象序列化与反序列化演示

/*
程序说明:
    本程序演示如何在PHP中将变量,数组以及对象进行序列化,序列化后会返回一个可以保
存在任何介质(内存,文件,数据库,QueryString等等)上的字符串,同时本程序也会告诉您如
何将序列化后的变量,数组或对象还原.
*/

if(isset($cmd)){
   
//查看源代码
   
highlight_file($SCRIPT_FILENAME);
   exit();
}

//作序列化测试的类
class MyClass{
   var 
$name;

   function 
MyClass($name){
      
$this->name $name;
   }
}
//作序列化测试的对象
$class = new MyClass('我是对象');

//作序列化测试的变量
$var '我是变量';

//作序列化测试的数组
$array = array('我是数组','我喜欢PHP','我喜欢Linux');

//进行序列化
$ser_class serialize($class);
$ser_var serialize($var);
$ser_array serialize($array);

//释放作序列化测试的对象,变量,数组
unset($class);
unset(
$var);
unset(
$array);

//还原序列化后的对象,变量,数组
$unser_class unserialize($ser_class);
$unser_var unserialize($ser_var);
$unser_array unserialize($ser_array);

//输出还原后的对象,变量,数组
echo $unser_class->name.'<br>';
echo 
$unser_var.'<br>';
$count count($unser_array);
for(
$i=0;$i<$count;$i++) echo $unser_array[$i].'<br>';

echo 
'<hr>';
echo 
'<a href="'.$PHP_SELF.'?cmd=source">源代码</a>';
?>