2017-10-09 113 views
0

清除数组达到目的后清除数组有用吗?使用后清除数组的性能有用吗?

$mediaUgly = simplexml_load_file('media.xml'); 
$mediaNice = json_decode(json_encode($mediaUgly),true); 

XML文件大约有50kb。我不知道有多大$ mediaUgly将在内存中,但我不需要它了,只要我有$ mediaNice,和更高版本我将从$ mediaNice中派生出更多的数组

我没有遇到任何速度的问题,但我不知道它是否是一个释放内存的美德,只要我能,因此例如通过指定一些非常小:一旦有什么地方内存

$mediaUgly = 0; 
+0

'unset($ mediaUgly)'并且解释器将在将来某个时刻决定重用先前由'mediaUgly'使用的内存,当它需要更多内存时。 – axiac

+0

这只是一个理性主义的猜测,我想,就像我的问题一样。 – Helen

+0

或多或少,[记录](http://php.net/manual/en/features.gc.php)。 – axiac

回答

1

,清除它并没有真正的性能收益。清除数据是一种很好的做法,只是为了让其他物体腾出空间。如果你继续积累大量你永远不会在脚本的其余部分再次使用的数据,它会增加脚本本身的内存使用量,当它在Web服务中的多个子工作器中相乘时,这会非常重要。

在附注中,为什么要使用json_encode/json_decode将XML结构转换为数组?一般来说,通过SimpleXML对象处理数据比使用数组处理数据更好,并执行json事件 - 性能受到影响。

对SimpleXML命令感到满意,你会很高兴你做到了!

+0

谢谢!我拥抱SimpleXML的整个香水!当我想要挑选某个元素时很简单。上面的数组用于循环。 – Helen

+0

您也可以使用SimpleXML进行循环。 – jhilgeman