Qui ho 2 metodi che utilizzano str_replace
per sostituire stringhe in una determinata frase.Prestazioni di str_replace in PHP
// 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);
Quale metodo è più efficace (in termini di tempo di esecuzione utilizzati & risorse)?
Supponiamo che la frase reale sia molto più lunga (ad esempio 50.000 caratteri) e che le parole da sostituire contengano molte più coppie.
Quello che sto pensando è che il metodo 2 chiama str_replace
3 volte, il che costerà più chiamate di funzione; d'altra parte il Metodo 1 crea 2 array, e il str_replace
ha bisogno di analizzare 2 array in runtime.
Il metodo 1 è più veloce. – djot
non è una buona scelta, se hai una lunga stringa e hai più volte bisogno di str_replace, perché non salvare il risultato dopo str_replace? – ajreal
Se crei ARRAY salutari e gustosi più e più volte nel ciclo, è più lento, non se li metti fuori. – djot