- microtime: documentation ( source)
<?php
$array = [];
for ($i = 0, $j = 100; $i < $j; ++$i) {
$array[] = new DateTimeImmutable();
}
function a($array) {
$fn = function () use ($array) {
foreach ($array as $item) {
$x = $item instanceof DateTimeImmutable;
}
};
return $fn;
}
function b($array) {
$fn = function () use (&$array) {
foreach ($array as $item) {
$x = $item instanceof DateTimeImmutable;
}
};
return $fn;
}
$t1 = microtime(true);
for ($i = 0; $i < 100; ++$i) {
a($array);
}
$t2 = microtime(true);
for ($i = 0; $i < 100; ++$i) {
b($array);
}
$t3 = microtime(true);
echo (1000000 * ($t2 - $t1)) . "\n\n";
echo (1000000 * ($t3 - $t2)) . "\n\n";