在PHP中预先分配字符串内存

在PHP中预先分配字符串内存,php,memory-management,string-concatenation,Php,Memory Management,String Concatenation,是否可以在PHP中为字符串预先分配内存,或者将字符串设置为固定大小 我有一个生成的随机字符串,它总是32个字符长,并且它当前连接字符串末尾的一个字符;我认为如果我可以使用一个大小不变的字符串,效率会更高。您可以使用预生成一个包含32个空格的字符串,然后像这样访问每个字符: $string[3] = 'a'; 注:请参见tha手册中的相关内容 我想这会导致更少的内存(重新)分配 但是,真的: 你不应该担心那种微观优化 我不确定字符串是如何在PHP中实现的(您必须查看它的源代码),所以我不确定

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

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

您可以使用预生成一个包含32个空格的字符串,然后像这样访问每个字符:

$string[3] = 'a';
注:请参见tha手册中的相关内容


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

但是,真的:

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

如果你不得不担心这些微小的优化,那么首先使用PHP可能是错误的语言。谢谢。刚刚测试出来,连接速度大约快30%。。。好好想想。我可能会在这个周末的某个时候去看看消息来源。