PHP:创建常量数组以提高性能有意义吗


PHP: Does it make sense to create constant arrays to increase performance?

我需要使用相同的$search$replace执行许多str_replace($search, $replace, $input)。这些被分解为一个函数:

function sr($input) {
    $search = explode(",","s1,s2,s3,....");
    $replace = explode(",","r1,r2,r3,...");
    return str_replace($search, $replace, $input);
}

这不是很有效。从另一个SO问题中,我发现我可以创建常量数组,但建议的方法意味着序列化。我打赌这效率也不高,但我说得对吗?

我有一种编译语言的心态,所以只要我能让一些东西保持不变,我就会很高兴。但是它在PHP中有意义吗?我不是PHP专业人士。

更确切地说,知道这个功能将在用户对页面提出web请求时使用,我如何才能有效地进行优化?PHP中有预编译代码吗?或者,我可以高效地一次性定义常量数组吗(比如测试常量是否已经在上下文中创建/可用)?

更新

考虑到Truth的建议,我们可以修改函数如下:

function sr($input) {
    $search = array("s1","s2","s3",....");
    $replace = array("r1","r2","r3",...");
    return str_replace($search, $replace, $input);
}

剩下的问题是:在每次调用时声明这些数组是否最佳,或者我们是否应该尝试在上下文中将它们创建为常量?

为了提高绩效,[立即采取随机行动]有意义吗?

没有

  1. 只有当你有某些性能问题时,才开始担心性能
  2. 一旦你有了它-开始分析
  3. 一旦您得到了指向某个瓶颈的特定分析结果,就开始优化该瓶颈
  4. 重复直到完成