PHP - unserialize() 函数



定义和用法

unserialize() 函数将序列化后的数据转换回正常的 PHP 值。

语法

mixed unserialize ( string $data , array $options = [] )

参数

序号 参数 描述
1

data

必填。指定序列化后的字符串。

2

options

可选。作为关联数组提供给 unserialize() 的任何选项。可以是可接受的类名数组,**false** 表示不接受任何类,或者 **true** 表示接受所有类。**true** 为默认值。

返回值

此函数返回转换后的值,可以是 bool、int、float、string、array 或 object。如果传递的字符串不可反序列化,则返回 **false** 并发出 E_NOTICE。

依赖关系

PHP 4 及更高版本。

示例

以下示例演示了首先序列化然后反序列化数据

<?php
  class test1{
     private $name;
     function __construct($arg){
        $this->name=$arg;
     }
     function getname(){
        return $this->name;
     }
  }
  $obj1=new test1("tutorialspoint");
  $str=serialize($obj1); //first serialize the object and save to a file test,txt
  $fd=fopen("test.txt","w");
  fwrite($fd, $str);
  fclose($fd);

  $filename="test.txt";
  $fd=fopen("test.txt","r");
  $str=fread($fd, filesize($filename));
  $obj=unserialize($str);
  echo "name: ". $obj->getname();
?>

输出

这将产生以下结果:

name: tutorialspoint
广告