- Output for 5.3.0 - 5.3.28, 5.4.0 - 5.4.24
- Parse error: syntax error, unexpected '&' in /in/etSYk on line 29
Process exited with code 255.
<?php
$classmap1 = array();
for ($i=1; $i<=100; $i++) {
$classmap1['a'.$i] = $i+1;
}
$classmap2 = array();
for ($i=1; $i<=100; $i++) {
$classmap2['b'.$i] = $i+1;
}
$startTimeMerge = microtime(true);
$map = array_merge($classmap1, $classmap2);
$endTimeMerge = microtime(true);
$startTimeForeach = microtime(true);
foreach ($classmap2 as $k => $v) {
$classmap1[$k] = $v;
}
$endTimeForeach = microtime(true);
function amerge(array &$a, array &$b)
{
foreach (&$b as $key => $value) {
$a[$key] = $value;
}
return $a;
}
$startTimeFunc = microtime(true);
$am = amerge($classmap1, $classmap2);
$endTimeFunc = microtime(true);
echo "Merging took " . (($endTimeMerge - $startTimeMerge)*1000) ." microseconds<br />\n";
//var_dump($map);
echo "Foreach took " . (($endTimeForeach - $startTimeForeach)*1000) ." microseconds<br />\n";
//var_dump($classmap1);
echo "Func took " . (($endTimeFunc - $startTimeFunc)*1000) ." microseconds<br />\n";
//var_dump($am);