Здесь у меня есть 2 метода, использующие 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 массива во время выполнения.