首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 將資料序列化存入文字檔並讀取:serialize 與 JSON 兩種做法

     編輯:PHP 綜合知識

前言

PHP 陣列、物件等複雜資料結構若要持久化到文字檔,常見做法是 serialize() 或 json_encode()。本文示範兩種方式的寫入與讀取流程,並說明適用場景差異。

方法一:serialize() / unserialize()

適合 PHP 內部使用,保留型別與物件結構。

<?php
$data = array("上海", "西安", "北京");

// 寫入:序列化後存檔
file_put_contents("E:/data.txt", serialize($data));

// 讀取:取出內容並反序列化
$datas = unserialize(file_get_contents("E:/data.txt"));
print_r($datas);
?>

方法二:json_encode() / json_decode()

適合跨語言、前端串接,支援鍵值對結構,輕量易讀。

<?php
$data = array("現代" => "上海", "文化" => "西安", "首都" => "北京");

// 寫入:編碼為 JSON 字串
file_put_contents("E:/data.txt", json_encode($data));

// 讀取:解碼為 PHP 陣列(第二參數 true 為關聯陣列)
$datas = json_decode(file_get_contents("E:/data.txt"), true);
print_r($datas);
?>

比較與選擇建議

特性serializeJSON
可讀性低(二進制像字串)高(純文字)
跨語言否是
物件支援完整(含私有屬性)僅公開屬性
效能略快略慢
建議場景PHP 內部快取、Session 儲存API 回傳、設定檔、前端溝通

注意事項

  • 檔案路徑需確保可寫入權限。
  • 大量資料建議改用資料庫或 Redis 等快取系統。
  • JSON 解碼時若不加 true 會回傳 stdClass 物件。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved