將物件儲存在 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.