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

时间:2012-03-15 17:06:50

标签: 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);

}

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

我有一个编译语言 mindset ,所以每当我能做出一些不变的事情时,我很高兴。但它在PHP中有意义吗?我不是PHP专业人士。

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

更新

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

function sr($input) {

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

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

}

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

1 个答案:

答案 0 :(得分:11)

  

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

没有

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