php serialize() 函数

serialize() 函数用于序列化对象或数组,将其转换为一个可以存储的字符串并返回。

以对象为例,当序列化一个对象时,将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。另外,为了能够反序列化一个对象,这个对象的类必须已经定义过。如果序列化类 A 的一个对象,将会返回一个跟类 A 相关,而且包含了对象所有变量值的字符串。

serialize() 函数的语法格式如下:

serialize($value)
  • $value :要序列化的变量。

serialize() 函数可以处理除了 resource(资源)之外的任何类型。当序列化对象时,PHP 会在序列动作之前调用该对象的 __sleep() 成员函数。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 反序列化对象时,将调用 __wakeup() 成员函数。

【示例】使用 serialize() 函数序列化一个对象。

<?php
header("Content-type:text/html;charset=utf-8");
class WebSit {
	public $name;
	public $url;
	function __construct($name, $url) {
		$this -> name = $name;
		$this -> url = $url;
	}

}

$websit = new WebSit('PHP中文网', 'https://www.php.cn/');
$ser_str = serialize($websit);
echo $ser_str;
?>

运行结果如下:

php serialize()怎么用

说明:如果想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。