3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array('test1', 'test2', 'test3', 'test4'); $var = 'test'; $iterations = 1000000; $start = microtime(true); for($i = 0; $i < $iterations; ++$i) { if ($var != 'test1' && $var != 'test2' && $var != 'test3' && $var != 'test4') {} } $end = microtime(true); print "multiple comparisons: \n". ($end - $start)."\n"; $start2 = microtime(true); for($i = 0; $i < $iterations; ++$i) { if (!in_array($var, $array) ) {} } $end2 = microtime(true); print "in_array: \n".($end2 - $start2)."\n"; $start = microtime(true); $array_flip = array_flip($array); for($i = 0; $i < $iterations; ++$i) { if (!isset($array_flip[$var])) {} } $end = microtime(true); print "array_flip() outside loop measured + isset(): \n".($end - $start)."\n"; $array_flip = array_flip($array); $start = microtime(true); for($i = 0; $i < $iterations; ++$i) { if (!isset($array_flip[$var])) {} } $end = microtime(true); print "array_flip() outside loop not measured + isset(): \n".($end - $start)."\n"; $start = microtime(true); for($i = 0; $i < $iterations; ++$i) { foreach ($array as $entry) { if ($entry == $var) {} } } $end = microtime(true); print "foreach and compoarison: \n".($end - $start)."\n";
Output for git.master_jit
multiple comparisons: 0.039385080337524 in_array: 0.019988059997559 array_flip() outside loop measured + isset(): 0.0079290866851807 array_flip() outside loop not measured + isset(): 0.0080349445343018 foreach and compoarison: 0.034224033355713
Output for git.master
multiple comparisons: 0.039248943328857 in_array: 0.019210815429688 array_flip() outside loop measured + isset(): 0.010743856430054 array_flip() outside loop not measured + isset(): 0.01138710975647 foreach and compoarison: 0.041465997695923
Output for rfc.property-hooks
multiple comparisons: 0.03361701965332 in_array: 0.01665210723877 array_flip() outside loop measured + isset(): 0.0084528923034668 array_flip() outside loop not measured + isset(): 0.0084578990936279 foreach and compoarison: 0.034188032150269

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
32.9 ms | 401 KiB | 8 Q