Test: preg_replace vs. preg_replace_callback
Although preg_replace with 'e' is depreciated, this is left for historical reasons
Run this test again Return to test menuHistorical Results
Based on (7) saved test runs, The test labeled "preg_replace()" was (on average) the faster by 0.0149 seconds, (1.629% faster)
The preg_replace() test took 0.9006 seconds.
The preg_replace_callback() test took 0.9156 seconds.
Nitty-Gritty
Each test case ran 20 random code order iterations consisting of 224,174 loops for a total of 4,483,483 runs.
- Line execution difference (0.000003) milliseconds.
- Avg difference (0.000) milliseconds per 224,174 loops.
- Total difference 14.91 milliseconds for 4,483,483 loops
The iteration variablity for Code 1 was (0.0000) milliseconds and Code 2 was (0.0000) milliseconds. The lower and the closer together there values are the more accurate the results are.
Code
The first test, "preg_replace()", was:
$GLOBALS['dummy2'] = preg_replace('~([Ww]heat|[Tt]hins)~e', "strtolower('$1')", $GLOBALS['dummy']);
The second test, "preg_replace_callback()", was:
/* function cb($match) { return strtolower($match[0]); } */ $GLOBALS['dummy2'] = preg_replace_callback('~([Ww]heat|[Tt]hins)~', 'cb', $GLOBALS['dummy']);