【发布时间】:2011-07-10 20:37:29
【问题描述】:
在某些情况下,您可以通过以下函数构建字符串:
$output = '';
if($something) $output .= '<div>foo</div>';
if($something_else) $output .= '<div>moo</div>';
...
echo $output;
您认为最好使用数组代替并在最后内爆它吗?
$output = array();
if($something) $output[] = '<div>foo</div>';
if($something_else) $output[] = '<div>moo</div>';
...
echo implode("\n", $output);
这被认为是一种更好的做法吗?
【问题讨论】:
-
我认为附加字符串更好,但这只是我个人的喜好。
-
以目前的形式,这个问题是相当主观的。
-
我不会使用 implode 方法,因为您也可以使用 var concat,但是当数组命名为 $output['page'] 和 concat 时,使用数组是有问题的。
-
@esqew - 我不同意。与所有与代码相关的内容一样,适当的基准测试将揭示哪个更快。
-
@kev - 我知道你从那里来,但问题是“这是......更好的做法吗?”真的取决于你问的是谁。他并没有具体说明立场(即内存使用/效率等)。