Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php序列化和反序列化

作者:泪﹌无痕   发布日期:2026-03-31   浏览:121

<?php

// 定义一个类
class User {
    public $name;
    public $age;

    // 构造函数
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }

    // 序列化时调用的方法
    public function __sleep() {
        // 返回需要序列化的属性数组
        return ['name', 'age'];
    }

    // 反序列化时调用的方法
    public function __wakeup() {
        // 这里可以执行一些初始化操作
    }
}

// 创建一个User对象
$user = new User("Alice", 30);

// 序列化对象
$serializedUser = serialize($user);
echo "序列化后的字符串: \n";
echo $serializedUser . "\n";

// 反序列化对象
$unserializedUser = unserialize($serializedUser);
echo "反序列化后的对象属性: \n";
echo "Name: " . $unserializedUser->name . "\n";
echo "Age: " . $unserializedUser->age . "\n";

?>

解释说明:

  1. 类定义:定义了一个 User 类,包含两个公共属性 nameage,以及构造函数。
  2. __sleep 方法:当对象被序列化时,PHP 会调用 __sleep 方法。这个方法返回一个数组,指定哪些属性需要被序列化。这里我们返回了 nameage 属性。
  3. __wakeup 方法:当对象被反序列化时,PHP 会调用 __wakeup 方法。这个方法可以用于执行一些初始化操作。
  4. 序列化:使用 serialize 函数将对象转换为字符串表示形式。
  5. 反序列化:使用 unserialize 函数将字符串还原为对象。

通过这段代码,你可以看到如何在 PHP 中对对象进行序列化和反序列化操作。

上一篇:php eof

下一篇:php 时间格式化

大家都在看

php session用法

php 定义常量

php soapclient

phpisset函数

php html转图片

php后端

php爬虫框架

php多线程与并发

php读取csv文件

php+mysql动态网站开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站