Mar*_*lin 93
这是你的选择.
Mar*_*ius 84
正如评论所示,JSON占用的空间比序列化数组少.我还检查了JSON或Serializing是否更快,令人惊讶的是,JSON编码比Serialize更快.然而,反序列化要比JSON解码更快.
这是我用来测试的脚本:
<?php
function runTime(){
$mtime = microtime();
$mtime = explode(' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
return $mtime;
}
?>
<pre>
<?php
$start = runTime();
$ser;
for($i=0; $i<1000; $i++){
$a = array(a => 1, x => 10);
$ser = serialize($a);
}
$total = runTime() - $start;
echo "Serializing 1000 times took \t$total seconds";
?>
<?php
$start = runTime();
$json;
for($i=0; $i<1000; $i++){
$a = array(a => 1, x => 10);
$json = json_encode($a);
}
$total = runTime() - $start;
echo "JSON encoding 1000 times took \t$total seconds";
?>
<?php
$start = runTime();
$ser;
for($i=0; $i<1000; $i++){
$a = unserialize($ser);
}
$total = runTime() - $start;
echo "Unserializing 1000 times took \t$total seconds";
?>
<?php
$start = runTime();
$json;
for($i=0; $i<1000; $i++){
$a = json_decode($json);
}
$total = runTime() - $start;
echo "JSON decoding 1000 times took \t$total seconds";
?>
</pre>
Run Code Online (Sandbox Code Playgroud)
Ala*_*orm 29
可移植性:Winner JSON.JSON在更广泛的平台上受支持,而PHP反序列化仅由PHP支持(据我所知).虽然可以用任何语言解析任何一种格式,但JSON有更多的预构建库.
未来证明:获胜者JSON.JSON是一个"标准",从某种意义上说,Javascript是一个标准,并且不太可能在将来的任何时候发生变化.PHP小组对序列化格式的未来没有任何承诺,虽然将来不太可能改变,但是单个组控制格式这一事实意味着你可能最终得到的数据是不可读的.
富达:赢家PHP.PHP序列化将允许您使用本机PHP数据类型存储数据,包括自定义类定义的对象.JSON只允许存储通用基元类型,基元类型列表("数组")和键/值对象.如果您正在开发PHP应用程序,PHP序列化可能会提供一些优势.
文件大小:JSON在这里略有胜利,因为PHP的当前序列化格式更加冗长(因为它存储了更多信息).
表现:谁知道,这取决于,个人资料.
结论:除非您有令人信服的理由使用PHP序列化,否则请使用JSON.
小智 7
您是否仅将数据用于PHP?如果是:数组,如果否:JSON.
专业阵列
Pro JSON