如果explode()
的结果仅用于循环,是否需要存储结果?
$lines = explode(PHP_EOL, $data);
foreach ($lines as $line) {
// do stuff
}
是否有任何理由不直接在循环中调用它? explode()
会被调用一次还是每次迭代被调用?
foreach (explode(PHP_EOL, $data) as $line) {
// do stuff
}
答案 0 :(得分:2)
.hover
在explode()
循环中只会被调用一次,如果您的代码很大,则有两种选择:
每个变量都保存一些字节的内存,因此,如果您有大型Web应用程序,我建议在foreach
内调用explode()
,但是如果您的应用程序不是那么大,我就不要认为分配一些字节不会有伤害。
第二个选项是干净的代码,如果您将foreach
分配给变量,它将对以后的使用很有用,并且也将使调试更加容易。
我也想推荐this article以获得更多信息。