这里我有两种方法使用str_replace
替换给定短语中的字符串。PHP中str_replace的性能
// Method 1
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$phrase = str_replace($healthy, $yummy, $phrase);
// Method 2
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$phrase = str_replace("fruits", "pizza", $phrase);
$phrase = str_replace("vegetables", "beer", $phrase);
$phrase = str_replace("fiber", "ice cream", $phrase);
哪种方法是更有效的(在执行时间方面使用&资源)?
假设实际的词组要长得多(例如50,000个字符),并且要替换的词有更多的对。
我在想什么是方法2调用str_replace
3次,这将花费更多的函数调用;另一方面,方法1创建2个数组,而str_replace
需要在运行时解析2个数组。
方法1更快。 – djot
既不是一个好的选择,如果你有一个很长的字符串,反复需要str_replace,为什么不在str_replace之后保存结果呢? – ajreal
如果您在循环中一遍又一遍地创建ARRAYs healty和yummy,它会变慢,而不是将它们放在外面。 – djot