- var_dump: documentation ( source)
- microtime: documentation ( source)
- implode: documentation ( source)
- sort: documentation ( source)
- sprintf: documentation ( source)
<?php
$string1 = 'aaaaaaaaaaaaaaaaaaaa';
$string2 = 'bbbbbbbbbbbbbbbbbbbb';
$string3 = 'cccccccccccccccccccc';
$string4 = 'dddddddddddddddddddd';
$string5 = 'eeeeeeeeeeeeeeeeeeee';
$results = array();
$time1 = microtime(true);
for ($i = 0; $i<1000000; $i++) {
$concatTest1 = $string1 . $string2 . $string3 . $string4 . $string5;
}
unset($i);
$time2 = microtime(true);
$testDuration1 = $time2 - $time1;
$results['Default String Concatenation $a . $b'] = $testDuration1;
$time3 = microtime(true);
for ($i = 0; $i<1000000; $i++) {
$concatTest2 = "{$string1}{$string2}{$string3}{$string4}{$string5}";
}
unset($i);
$time4 = microtime(true);
$testDuration2 = $time4 - $time3;
$results['Double Quote Inline-String Concatenation {$a}{$b}'] = $testDuration2;
$time5 = microtime(true);
for ($i = 0; $i<1000000; $i++) {
$concatTest3 = implode('', array(
$string1, $string2, $string3, $string4, $string5
));
}
unset($i);
$time6 = microtime(true);
$testDuration3 = $time6 - $time5;
$results['Array Implode String Concatenation $a . $b'] = $testDuration3;
$time7 = microtime(true);
for ($i = 0; $i<1000000; $i++) {
$concatTest4 = sprintf('%s%s%s%s%s', array(
$string1, $string2, $string3, $string4, $string5
));
}
unset($i);
$time8 = microtime(true);
$testDuration4 = $time8 - $time7;
$results['Sprintf String Concatenation sprintf(%s%s, array($a, $b))'] = $testDuration4;
$finalResults = sort($results);
var_dump($finalResults);
This script was stopped while abusing our resources