Производительность str_replace в PHP

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

5
задан Raptor 13 December 2011 в 07:04
поделиться