Hallo,
for($j=0;$j<100000;$j++){
$a=explode('"','"Liste 1","40,32","20,12","12,07","Liste 1","40,32","20,12","12,07","Liste 1","40,32","20,12","12,07"');
for($i=1;$i<count($a);$i+=2)
$a[$i]=str_replace(',','.',$a[$i]);
$a=implode('"',$a);
}
$ time env -i ./x.php
real 0m4.170s
user 0m4.132s
sys 0m0.008s
for($i=0;$i<100000;$i++)
$a=preg_replace('/(".*?")/e', 'strtr("$1", ",", ".")', '"Liste 1","40,32","20,12","12,07","Liste 1","40,32","20,12","12,07","Liste 1","40,32","20,12","12,07"');
$ time env -i ./y.php
real 0m17.449s
user 0m17.405s
sys 0m0.000s
Testumgebung:
AMD Athlon(tm) XP 1800+
RAM 759472 kB
OS: GNU/Linux (gentoo) 2.6.16.5
PHP: 5.1.3-dev CLI
man sollte nicht verallgemeinern - sicher, aber dies ist mal wieder einer der doch recht typischen Ergebnisse, die mich auch weiterhin davon abhalten werden, diesen Mist einzusetzen.
Gruß aus Berlin!
eddi