PHP数组持久化需序列化为字符串或字节流:一、用json_encode()转JSON存TEXT字段,跨语言可读,读取时用json_decode($json,true);二、用serialize()存BLOB字段,支持复杂结构但仅限PHP反序列化,须防漏洞。

如果您需要将 PHP 数组持久化保存到数据库中,但数据库字段不支持原生数组类型,则必须通过序列化或二进制编码方式转换为可存储的字符串或字节流。以下是两种常用且互不依赖的实现方法:
一、使用 json_encode() 序列化为 JSON 字符串存入 TEXT 字段
该方法将 PHP 数组转换为标准 JSON 格式字符串,适用于大多数关系型数据库的 TEXT 或 VARCHAR 类型字段,具备跨语言可读性与结构清晰性。
1、在 PHP 中调用 json_encode($array) 将关联数组或索引数组转为 UTF-8 编码的 JSON 字符串。
2、确保数据库对应字段类型为 TEXT 或 VARCHAR(足够长度,如 65535),并设置字符集为 utf8mb4。
立即学习“PHP免费学习笔记(深入)”;
3、执行 INSERT 或 UPDATE 语句,将 JSON 字符串作为普通字符串值写入该字段。
4、读取时使用 json_decode($jsonString, true) 还原为 PHP 关联数组,第二个参数必须为 true 以避免返回对象。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~