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

Jér*_*nge 1 php arrays optimization constants

我需要str_replace($search, $replace, $input)使用相同的$search$replace.这些在功能中爆炸:

function sr($input) {

    $search = explode(",","s1,s2,s3,....");
    $replace = explode(",","r1,r2,r3,...");

    return str_replace($search, $replace, $input);

}
Run Code Online (Sandbox Code Playgroud)

效率不高.从另一个SO 问题,我看到我可以创建常量数组,但建议的方法意味着序列化.我打赌这也不高效,但我是对的吗?

我有一种编译语言的思维方式,所以每当我能做出不变的事情时,我都很高兴.但它在PHP中有意义吗?我不是PHP专业人士.

更确切地说,当用户向页面发出Web请求时,知道将使用此功能,如何有效地优化爆炸?在PHP中有预编译代码吗?或者我可以有效地为所有人定义一次常量数组(比如测试常量是否已在上下文中创建/可用)?

UPDATE

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

function sr($input) {

    $search = array("s1","s2","s3",....");
    $replace = array("r1","r2","r3",...");

    return str_replace($search, $replace, $input);

}
Run Code Online (Sandbox Code Playgroud)

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

You*_*nse 10

[随意采取行动]以提高性能是否有意义?

没有.

  1. 只有在遇到某些性能问题时才开始担心性能问题.
  2. 一旦你得到它 - 开始分析.
  3. 一旦你有一些指向某个瓶颈的分析结果 - 开始优化这个瓶颈.
  4. 重复直到完成.

  • @JVerstry轻松自在.我会避免在每个用户的请求中执行许多str_replace. (2认同)