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