我需要使用相同的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);
}
剩下的问题是:在每次调用时声明这些数组是否最佳?或者我们是否应该尝试在上下文中将它们创建为常量?
答案 0 :(得分:11)
[随意采取行动]以提高性能是否有意义?