PHP 5.2+ 內建 json_encode() / json_decode() 是資料序列化、API 回應、前後端傳輸的標準工具。掌握編碼選項、錯誤處理、中文 Unicode 處理、大數值精度、資源型別轉換等細節,能避免常見坑並產出標準相容的 JSON。
<?php
$array = ['name' => '王進', 'age' => 28, 'skills' => ['PHP', 'MySQL', 'Redis']];
// 基本編碼
$json = json_encode($array);
echo $json;
// {"name":"\u738b\u9036","age":28,"skills":["PHP","MySQL","Redis"]}
// 美化輸出 (除錯用)
echo json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
/*
{
"name": "王進",
"age": 28,
"skills": [
"PHP",
"MySQL",
"Redis"
]
}
*/
?>
| 常數 | PHP 版本 | 效果 | 適用場景 |
|---|---|---|---|
JSON_HEX_QUOT | 5.3 | 雙引號 → \u0022 | 嵌入 HTML/JS 字串字面值 |
JSON_HEX_TAG | 5.3 | < → \u003C, > → \u003E | 防 XSS (嵌入
Copyright © 程式碼之家 All Rights Reserved
|