在PHP中预分配字符串内存

时间:2011-04-02 16:14:35

标签: php memory-management string-concatenation

是否可以在PHP中为字符串预分配内存或将字符串设置为常量固定大小?

我有一个生成的随机字符串,它总是32个字符长,并且它当前连接字符串末尾的字符;我认为如果我可以使用一个恒定大小的字符串会更有效率。

1 个答案:

答案 0 :(得分:2)

您可以使用str_repeat()预生成包含32个空格的字符串,然后按如下方式访问每个字符:

$string[3] = 'a';

注意:请参阅手册中的String access and modification by character,关于此。


我想这会导致更少的内存(重新)分配。

但是,真的:

  • 你不应该担心那种微观优化......
  • 我不确定PHP 中是如何实现字符串的(你必须查看它的源代码),所以不确定这个想法对于性能会更好。