Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Lưu trữ đối tượng trong session PHP


Hàm serialize() trong PHP có thể dùng trước khi lưu đối tượng, và hàm unserialize() có thể gọi khi cần lấy đối tượng từ session.

Hàm này chuyển đổi biểu diễn có thể lưu trữ của một giá trị cụ thể thành chuỗi bit. Điều này để dữ liệu có thể lưu trong file, bộ đệm bộ nhớ hoặc truyền qua mạng.

Dùng hàm serialize để lưu đối tượng:

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

Session bắt đầu bằng hàm 'session_start' và đối tượng mới được tạo. Đối tượng tạo ra được serialize bằng hàm 'serialize' và gán cho biến _SESSION.

Ví dụ

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

Kết quả

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

Dùng hàm unserialize để lấy đối tượng:

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

Như thường lệ, session bắt đầu bằng hàm 'session_start' và đối tượng đã tạo trước đó, đã được serialize bằng cách gán cho biến _SESSION, được unserialize bằng hàm 'unserialize':

Ví dụ

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

Kết quả

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" }