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

php序列化

作者:缺爱╮不缺钙   发布日期:2025-04-12   浏览:48

<?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 "序列化后的字符串: " . $serializedUser . "\n";

// 反序列化对象
$unserializedUser = unserialize($serializedUser);
echo "反序列化后的对象: " . get_class($unserializedUser) . "\n";
echo "名字: " . $unserializedUser->name . "\n";
echo "年龄: " . $unserializedUser->age . "\n";
?>

解释说明:

  1. 类定义:我们定义了一个简单的 User 类,包含两个属性 nameage
  2. 构造函数__construct 方法用于初始化对象的属性。
  3. 序列化和反序列化
    • serialize() 函数将对象转换为一个可以存储或传输的字符串。
    • unserialize() 函数将序列化后的字符串还原为对象。
  4. 魔术方法
    • __sleep() 方法在对象被序列化之前调用,返回一个数组,指定哪些属性需要被序列化。
    • __wakeup() 方法在对象被反序列化之后调用,可以用来执行一些初始化操作。

通过这段代码,你可以看到如何将一个 PHP 对象进行序列化和反序列化,并理解其基本原理。

上一篇:php 数组去空

下一篇:php md5函数

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

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

Laravel 中文站