将对象存储在 PHP 会话中


可以将serialize() 函数在存储对象之前使用,并且可以在需要从会话中检索对象时调用unserialize() 函数。

该函数将特定值的存储表征转换为一序列位。此操作是为了将数据存储在一个文件中、一个内存缓冲区中或通过网络传输。

使用serialize 函数存储对象 −

session_start();
$object = new sample_object();
$_SESSION['sample'] = serialize($object);

使用'session_start' 函数开始会话并创建一个新对象。使用'serialize' 函数将所创建的对象序列化,并分配给_SESSION 变量。

示例

 在线演示

<?php
$data = serialize(array("abc", "defgh", "ijkxyz"));
   echo $data;
?>

输出

这会生成如下输出 −

a:3:{i:0;s:3:"abc";i:1;s:5:"defgh";i:2;s:6:"ijkxyz";}

使用unserialize 函数检索对象 −

session_start();
$object = unserialize($_SESSION['sample']);

与通常一样,使用'session_start' 函数开始会话,并且将之前创建的对象反序列化,之前已经通过分配它给_SESSION 变量对该对象进行了序列化,此操作使用'unserialize' 函数 −

示例

 在线演示

<?php
$data = serialize(array("abc", "defgh", "ijkxuz"));
echo $data . "<br>";
$test = unserialize($data);
var_dump($test);
?>

输出

这会生成如下输出 −

a:3:{i:0;s:3:"abc";i:1;s:5:"defgh";i:2;s:6:"ijkxuz";}
array(3) { [0]=> string(3) "abc" [1]=> string(5) "defgh" [2]=> string(6) "ijkxuz" }

更新日期:09-Apr-2020

4K+ 浏览量

启动你的职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.