【问题标题】:PHP - Create text through implode vs substrPHP - 通过 implode vs substr 创建文本
【发布时间】:2016-12-04 09:22:21
【问题描述】:

情况如下: 我将使用 foreach 来获得一些价值,现在我可以

  1. 另存为txt $txt .= $vlaue."&";,但需要删除最后一个'&'所以使用$txt = substr( $txt , 0 , -1);

  1. 另存为数组$txt[] = $vlaue;,并使用implode( "&" , $txt);

两种方法会得到相同的文本,但哪个更好? (考虑速度和内存使用情况?)

【问题讨论】:

  • 如果您使用implode(),您将不再需要遍历对象的每个项目,因为此函数在参数中接受一个数组。所以你可以说为了减少代码行数,implode() 更有趣,但我不敢说它更快,因为它仍然会循环通过你的对象。
  • PHP 是一种高级解释性语言,这种优化程度相当学术性......除非你可能正在循环浏览千兆字节的文本。
  • 无法避免通过foreach获取值,我会从另一个数组中获取特定值;

标签: php substr implode


【解决方案1】:

最好都不要。

如果您正在构建查询字符串,请使用 http_build_query,因为它还会为您处理适当的变量转义。

过早的优化是万恶之源。易于阅读的代码比高性能但不可维护的代码更有价值。如果你有很大的字符串并且性能实际上很重要,ob_start + echo + ob_end_clean 对于任何非平凡大小的情况大约是两者的两倍(它避免了大量的内存重新分配)输出。

【讨论】:

  • 不,我没有创建查询字符串,这是从数据库中显示的网站。
猜你喜欢
  • 1970-01-01
  • 2012-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 2011-09-18
  • 2013-09-20
  • 1970-01-01
相关资源
最近更新 更多