是否需要在foreach循环之前存储explode()的结果?

时间:2018-10-26 14:40:33

标签: php loops explode

如果explode()的结果仅用于循环,是否需要存储结果?

$lines = explode(PHP_EOL, $data);
foreach ($lines as $line) {
    // do stuff
}

是否有任何理由不直接在循环中调用它? explode()会被调用一次还是每次迭代被调用?

foreach (explode(PHP_EOL, $data) as $line) {
    // do stuff
}

1 个答案:

答案 0 :(得分:2)

.hoverexplode()循环中只会被调用一次,如果您的代码很大,则有两种选择:

1.优化/速度:

每个变量都保存一些字节的内存,因此,如果您有大型Web应用程序,我建议在foreach内调用explode(),但是如果您的应用程序不是那么大,我就不要认为分配一些字节不会有伤害。

2.清除代码:

第二个选项是干净的代码,如果您将foreach分配给变量,它将对以后的使用很有用,并且也将使调试更加容易。

我也想推荐this article以获得更多信息。