应选用serialize()、json_encode()或var_export()序列化后再用file_put_contents写入:serialize适合PHP内复原,json_encode兼容跨语言但丢失特殊类型,var_export生成可直接加载的PHP代码。

如果需要将 PHP 数组保存到文件中以便后续读取,直接写入原始数组变量会导致不可解析的文本内容。以下是使用 file_put_contents 结合不同序列化方式将数组写入文件的具体操作步骤:
一、使用 serialize() 序列化后写入
该方法将数组转换为可存储的字符串格式,保留完整数据类型与结构,适合 PHP 环境内读取复原。
1、定义目标数组,例如:$data = ['name' => '张三', 'age' => 28, 'hobbies' => ['读书', '游泳']];
2、调用 serialize() 函数对数组进行序列化处理。
立即学习“PHP免费学习笔记(深入)”;
3、使用 file_put_contents() 将序列化结果写入指定路径文件,例如:file_put_contents('data.ser', serialize($data));
二、使用 json_encode() 转换为 JSON 格式写入
该方法生成标准 JSON 字符串,兼容性强,适用于跨语言或前端交互场景,但会丢失 PHP 特有类型(如资源、闭包)及部分键名类型(如数字键自动转为字符串)。
1、确保数组内容为 JSON 可表示类型,避免资源句柄、对象未实现 JsonSerializable 接口等情况。
2、调用 json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) 进行编码,启用中文不转义和格式化输出。
3、通过 file_put_contents('data.json', json_encode($data, JSON_UNESCAPED_UNICODE)) 写入文件。
还木有评论哦,快来抢沙发吧~