我需要在数据库中存储大量二维数组,并且不确定要使用什么:serialize
或implode
。所以我做了一些测试,找出哪一个工作得更快,得出的结论是serialize
:
Execution times: 1'000'000
Serialize: 1.4974119663239 seconds
Implode: 2.5333571434021 seconds
Explode: 4.0185871124268 seconds
Unserialize: 1.6835169792175 seconds
所以问题:为什么 implode + explode 比序列化+反序列化慢得多?
PS:我已经发现了this问题,但这并不是我要问的问题。
答案 0 :(得分:1)
我的想法是explode
/ implode
对字符串进行操作,这就是原因,而serialize
/ unserialize
在结尾/开头输出/输入一个字符串。可能你implode
的字符串越多,explode
的字符串越长,你尝试的就越慢吗?
使用哪些我不知道,这取决于你以后希望处理输出字符串,我认为serialize
d字符串更难以解析。但是要将其存储在数据库或文件中,我会使用serialize
。