我需要在平面文件中存储多维关联数据数组以用于缓存目的.我偶尔会遇到将其转换为JSON以便在我的Web应用程序中使用的需要,但绝大多数时候我将直接在PHP中使用该数组.
将数组作为JSON或PHP序列化数组存储在此文本文件中会更有效吗?我环顾四周,似乎在最新版本的PHP(5.3)中,json_decode
实际上比它更快unserialize
.
我目前倾向于将数组存储为JSON,因为我觉得如果有必要,人们可以更容易地阅读它,它可以在PHP和JavaScript中轻松使用,而且从我读过的,它甚至可能是更快解码(不确定编码).
有谁知道任何陷阱?任何人都有良好的基准来展示这两种方法的性能优势?
寻找一种方法来生成给定PHP数组的文件名安全哈希.我现在正在做:
$filename = md5(print_r($someArray, true));
Run Code Online (Sandbox Code Playgroud)
...但是感觉"hacky"使用print_r()生成每个数组唯一的字符串.
有什么明智的想法,以更清洁的方式做到这一点?
编辑 嗯,似乎每个人都认为序列化更适合这项任务.有什么理由吗?我不担心在变量散列后检索变量的信息(这很好,因为它是单向散列!).谢谢你的回复!