3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start = microtime(true); function bytesToSize($bytes, $precision = 2) { $symbols = array('B', 'Kb', 'Mb', 'Gb', 'Tb', 'Pb', 'Eb', 'Zb', 'Yb'); $exp = (int)floor(log($bytes) / log(1024)); return sprintf('%.'. $precision .'f '. $symbols[$exp], $bytes / pow(1024, floor($exp))); } function mem() { return bytesToSize(memory_get_usage(true)); } function test($msg, $test) { $t = microtime(true); $test($msg); echo $msg .': <b>'. sprintf('%.6f', microtime(true) - $t) .'</b>'. PHP_EOL; } $array = range(0, 30000); test('foreach', function ($msg) use ($array) { echo $msg . ' before loop mem: '. mem() .PHP_EOL; foreach ($array as $v) { $b = $v; } echo $msg . ' after loop mem: '. mem() .PHP_EOL; }); test('foreach ref', function ($msg) use ($array) { echo $msg . ' before loop mem: '. mem() .PHP_EOL; foreach ($array as &$v) { $b = $v; } unset($v); echo $msg . ' after loop mem: '. mem() .PHP_EOL; }); test('for', function ($msg) use ($array) { echo $msg . ' before loop mem: '. mem() .PHP_EOL; $so = count($array); for ($i = 0; $i < $so; ++$i) { $b = $array[$i]; } echo $msg . ' after loop mem: '. mem() .PHP_EOL; }); test('while each -> list', function ($msg) use ($array) { echo $msg . ' before loop mem: '. mem() .PHP_EOL; while (list($k, $v) = each($array)) { $b =$v; } echo $msg . ' after loop mem: '. mem() .PHP_EOL; }); echo 'Memory peak: ' . round(memory_get_peak_usage() / 1048576, 3) .PHP_EOL; echo sprintf('%.6f', microtime(true) - $start) .'</b>'. PHP_EOL;
Output for 7.3.1
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000881</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.006467</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000459</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.012865</b> Memory peak: 3.077 0.021046</b>
Output for 7.3.0
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000904</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.006881</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000513</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.005546</b> Memory peak: 3.077 0.014196</b>
Output for 7.2.13
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000833</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.002206</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000828</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007130</b> Memory peak: 3.074 0.011380</b>
Output for 7.2.12
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000576</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.005815</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000494</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.005323</b> Memory peak: 3.074 0.012417</b>
Output for 7.2.11
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.028189</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.001762</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000664</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.008301</b> Memory peak: 3.074 0.039163</b>
Output for 7.2.10
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000752</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.005421</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000471</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.005854</b> Memory peak: 3.074 0.012766</b>
Output for 7.2.9
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000651</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.006864</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000646</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.008098</b> Memory peak: 3.074 0.016526</b>
Output for 7.2.8
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000553</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.005238</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000566</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.006166</b> Memory peak: 3.074 0.020073</b>
Output for 7.2.7
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.024370</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.002544</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.001126</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.008032</b> Memory peak: 3.074 0.036264</b>
Output for 7.2.6
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.027328</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.002421</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000915</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.008127</b> Memory peak: 3.074 0.039037</b>
Output for 7.2.5
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000537</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.005945</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000468</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.005250</b> Memory peak: 3.074 0.012388</b>
Output for 7.2.4
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.001122</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.009697</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.001020</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.005976</b> Memory peak: 3.074 0.039928</b>
Output for 7.2.3
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000560</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.006191</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000477</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.005362</b> Memory peak: 3.074 0.057674</b>
Output for 7.2.2
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.023757</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.008592</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000526</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.006058</b> Memory peak: 3.074 0.039180</b>
Output for 7.2.1
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.043938</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.007566</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000603</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007006</b> Memory peak: 3.074 0.059447</b>
Output for 7.2.0
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000957</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.006910</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000468</b> while each -> list before loop mem: 4.00 Mb Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /in/brHsW on line 48 while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.005331</b> Memory peak: 3.074 0.014008</b>
Output for 7.1.25
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.001123</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.002451</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.001536</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.009570</b> Memory peak: 3.039 0.014943</b>
Output for 7.1.17
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000896</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.020919</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.001032</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.011563</b> Memory peak: 3.039 0.034829</b>
Output for 7.1.16
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000741</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.032966</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000750</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.016838</b> Memory peak: 3.039 0.052607</b>
Output for 7.1.15
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000558</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.015798</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.001052</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.009660</b> Memory peak: 3.039 0.027572</b>
Output for 7.1.14
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000703</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.019201</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.001795</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.010946</b> Memory peak: 3.039 0.033383</b>
Output for 7.1.13
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000666</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.012695</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000826</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007350</b> Memory peak: 3.039 0.022165</b>
Output for 7.1.12
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000644</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.011682</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000692</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007077</b> Memory peak: 3.039 0.020734</b>
Output for 7.1.11
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000677</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.011380</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000836</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007468</b> Memory peak: 3.039 0.021159</b>
Output for 7.1.10
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000593</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.011113</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000653</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007354</b> Memory peak: 3.039 0.020029</b>
Output for 7.1.9
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000681</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.015903</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000733</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007206</b> Memory peak: 3.039 0.025141</b>
Output for 7.1.8
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000712</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.012079</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000624</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.006455</b> Memory peak: 3.039 0.020242</b>
Output for 7.1.7
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000575</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.013938</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000980</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.011043</b> Memory peak: 3.039 0.026899</b>
Output for 7.1.6
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000710</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.014329</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000875</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.008022</b> Memory peak: 3.041 0.024636</b>
Output for 7.1.5
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000709</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.012737</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000756</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.006580</b> Memory peak: 3.041 0.021496</b>
Output for 7.1.4
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000658</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.012461</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000828</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.006370</b> Memory peak: 3.041 0.020989</b>
Output for 7.1.3
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000659</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.013265</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000740</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.006688</b> Memory peak: 3.041 0.021706</b>
Output for 7.1.2
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000625</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.013010</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000646</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.006471</b> Memory peak: 3.041 0.021125</b>
Output for 7.1.1
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000597</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.011579</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000672</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007043</b> Memory peak: 3.039 0.020239</b>
Output for 7.1.0
foreach before loop mem: 2.00 Mb foreach after loop mem: 2.00 Mb foreach: <b>0.000615</b> foreach ref before loop mem: 2.00 Mb foreach ref after loop mem: 4.00 Mb foreach ref: <b>0.011210</b> for before loop mem: 4.00 Mb for after loop mem: 4.00 Mb for: <b>0.000780</b> while each -> list before loop mem: 4.00 Mb while each -> list after loop mem: 4.00 Mb while each -> list: <b>0.007380</b> Memory peak: 3.039 0.020545</b>

preferences:
64.52 ms | 402 KiB | 40 Q