【问题标题】:Using a array instead of appending to string [duplicate]使用数组而不是附加到字符串 [重复]
【发布时间】:2011-07-10 20:37:29
【问题描述】:

可能重复:
String concatenation vs array implode in PHP

在某些情况下,您可以通过以下函数构建字符串:

$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 - 我知道你从那里来,但问题是“这是......更好的做法吗?”真的取决于你问的是谁。他并没有具体说明立场(即内存使用/效率等)。

标签: php arrays string


【解决方案1】:

使用数组可能会影响性能。 在大多数情况下,它足够小而不会引起问题。

但这很难说,因为你没有提供任何上下文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 2013-09-19
    • 2016-07-13
    • 2017-05-22
    • 2017-07-11
    • 1970-01-01
    相关资源
    最近更新 更多