PHP $ _POST vs保存数组中的数据

时间:2013-05-03 07:19:56

标签: php performance

这不是错误或问题。但是当我阅读大量性能相关文章时,我开始了解javascript变量如何占用更多资源,因此最好将javascript的全局变量放入局部变量中 - 特别是for for循环。 / p>

所以我想知道是否这样的事情也发生在使用PHP的$ _POST上。 如果我有大量的帖子数据,它会给我带来性能提升。保存在本地数组中说$ post_data = $ _POST;

然后我在需要的地方引用。

4 个答案:

答案 0 :(得分:2)

不值得花时间。 $_POST已经是内存中的数组,因此无需复制它。

要以字节为单位获取$_POST的大小,可以执行以下操作:

strlen(serialize($_POST));

serialize会将任何对象转换为可保存的字符串unserialize d。)


for循环中的FWIW,如果你没有缓存数组的长度而是使用这样的东西......

for(var i = 0; i < myarray.length; i++) {}

......每次开始迭代时,JS都必须重新计算.length,所以它很昂贵,特别是在大数组上。

答案 1 :(得分:0)

在php中,全局变量的主要问题是内存。访问全局或本地范围变量的性能差异是可以忽略的。

答案 2 :(得分:0)

不确定JavaScript部分(可以提供参考吗?)。在PHP中,这将有效地创建$ _POST数组的副本,因此将使用更多内存而不会对速度提升产生任何影响。

答案 3 :(得分:0)

如果你做:

$post_data = $_POST;

PHP会为$_POST变量中的信息创建引用,因此将不会有更多的内存使用量,直到$post_data中的changind信息为止。如果您尝试在PHP将在内存中创建信息副本时更改数据。