Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否需要在foreach循环之前存储explode()的结果?_Php_Loops_Explode - Fatal编程技术网

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

Php 是否需要在foreach循环之前存储explode()的结果?,php,loops,explode,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 } explode()将仅在foreach循环中调用一次,如果您有非常大的代

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

$lines = explode(PHP_EOL, $data);
foreach ($lines as $line) {
    // do stuff
}
有没有理由不直接在循环中调用它?
explode()
会被调用一次还是每次迭代调用一次

foreach (explode(PHP_EOL, $data) as $line) {
    // do stuff
}
explode()
将仅在
foreach
循环中调用一次,如果您有非常大的代码,您将有两个选择:

1.优化/速度: 每个变量都有一些字节的内存,因此如果您有一个大型web应用程序,我建议在
foreach
中调用
explode()
,但是如果您的应用程序没有那么大,我认为分配一些字节不会有什么坏处

2.清洁剂代码: 第二个选项是干净的代码,如果将
explode
分配给一个变量,它将对以后的使用非常有用,并且还将使调试更加容易

我还想推荐更多信息。

explode()
将仅在
foreach
循环中调用一次,如果您有非常大的代码,您将有两个选择:

1.优化/速度: 每个变量都有一些字节的内存,因此如果您有一个大型web应用程序,我建议在
foreach
中调用
explode()
,但是如果您的应用程序没有那么大,我认为分配一些字节不会有什么坏处

2.清洁剂代码: 第二个选项是干净的代码,如果将
explode
分配给一个变量,它将对以后的使用非常有用,并且还将使调试更加容易


我还想推荐更多信息。

我更喜欢每行只做一件事的干净代码。其他人没有。如果你想运行一些基准测试,你可以使用
microtime
来找出做这两种选择中的任何一种都会带来多大的伤害。你更喜欢干净的代码,每行只做一件事。其他人没有。如果你想运行一些基准测试,你可以使用
microtime
来找出这两种方法对你的影响有多大option@ThisGuyHasTwoThumbs对不起,我想我已经提到了,在“更干净的代码”这一点上——毫无疑问——我的意思是,更清楚地说,分离变量也意味着你仍然有字符串:)但是tbf我想这是一个多余的点,will rm:)@这个人有两个大拇指对不起,但我想我已经提到了,在“更干净的代码”点中,你有-毫无疑问-我更重要的意思是,更清楚地说,分隔变量也意味着字符串仍然在tact:)但是tbf我想这是一个冗余点,will rm:)