webForumDet fria alternativet

explode+implode versus str_replace

3 svar · 274 visningar · startad av aasah

aasahMedlem sedan mars 20034 471 inlägg
#1

Hej igen!

Enligt min bok kan man använda de två funktionerna explode och implode tillsammans för att ersätta text. På vilket sätt är det bättre än genom att använda str_replace? :q Eller är det bara ett alternativt sätt? Spontant känns det som om det skulle ta mera tid och resurser att dela upp hela textmassan i en array och sen slå ihop den igen... men det kanske är helt likgiltigt vilken metod man använder? :q

Någon som vet? :q

spangoMedlem sedan juni 20008 205 inlägg
#2

Förmodligen har du rätt. Jag tror nog att nyckelordet i sammanhanget är "kan", som ju som bekant inte ens är kusin med "bör" :)

tydalMedlem sedan juni 20034 013 inlägg
#3

Om det är hela "enheter" som ska bytas ut så är det bättre med explode/implode, för det som dessa funktioner gör är ju att dela upp en sträng i mindre enheter, exempelvis radvis. Vet du i förväg på vilken rad det du ska byta ut finns så är det ju en höjdare... Bara att exploda på \n och sedan skriva radnumret, exempelvis: array[7] = "det nya värdet";

Vet du inte vilken rad det är, men du vet hur raden börjar så behöver du ju bara kolla från början om det matchar. Du behöver ju inte söka mitt i. Str_replace måste ju söka på varje position i strängen.

aasahMedlem sedan mars 20034 471 inlägg
#4

AHA!!! :D Tackar! Det blev genast vettigt när man fick det förklarat för sig! :)

130 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)