<?php
$values = range(1, 10000);
$c = 0;
$start = microtime(true);
$l = count($values);
$i = 0;
while ($i < $l) {
$c++;
$i++;
}
$end = microtime(true);
printf('while $i++ %d iterations in: %f sec', $c, ($end - $start));
echo PHP_EOL;
$values = range(1, 10000);
$c = 0;
$start = microtime(true);
$l = count($values);
for ($i = 0; $i < $l; $i++) {
$c++;
}
$end = microtime(true);
printf('for $i++ %d iterations in: %f sec', $c, ($end - $start));
echo PHP_EOL;
$values = range(1, 10000);
$c = 0;
$start = microtime(true);
foreach ($values as $val) {
$c++;
}
$end = microtime(true);
printf('foreach %d iterations in: %f sec', $c, ($end - $start));
echo PHP_EOL;
$values = range(1, 10000);
$c = 0;
$start = microtime(true);
$value = reset($values);
while ($value) {
$c++;
$value = next($values);
}
$end = microtime(true);
printf('while reset, next %d iterations in: %f sec', $c, ($end - $start));
echo PHP_EOL;
$values = range(1, 10000);
$c = 0;
$start = microtime(true);
while ($val = current($values)) {
$c++;
next($values);
}
$end = microtime(true);
printf('while current, next %d iterations in: %f sec', $c, ($end - $start));
echo PHP_EOL;
$values = range(1, 10000);
$c = 0;
$start = microtime(true);
$value = current($values);
do{
$c++;
}while($value = next($values));
$end = microtime(true);
printf('do while next %d iterations in %f sec', $c, ($end - $start));
echo PHP_EOL;
$values = range(1, 10000);
$c = 0;
$start = microtime(true);
while ($values) {
$c++;
array_shift($values);
}
$end = microtime(true);
printf('while array_shift %d iterations in: %f sec', $c, ($end - $start));
echo PHP_EOL;
$values = range(1, 10000);
$c = 0;
$start = microtime(true);
$values = array_reverse($values);
while ($values) {
$c++;
array_pop($values);
}
$end = microtime(true);
printf('while array_pop %d iterations in: %f sec', $c, ($end - $start));
echo PHP_EOL;
preferences:
26.83 ms | 413 KiB | 5 Q