3v4l.org

run code in 300+ PHP versions simultaneously
<?php function prepare($num) { echo "preparing array with $num elements ... "; $array = array(); for ($i=0; $i<$num; $i++) { $array[uniqid('', true)] = true; } echo 'OK', PHP_EOL; return $array; } function test($num, $cycles, $tries) { echo "@cycles: ", $cycles, PHP_EOL; echo "@length: ", $num, PHP_EOL; echo "@tries: ", $tries, PHP_EOL; $array = prepare($num); $key = uniqid('', true); echo "array_key_exists: "; $times = array(); for ($j=0; $j<$tries; $j++) { $t = microtime(true); for($i = 0; $i < $cycles; $i++) { array_key_exists($key, $array); } $times[$j] = microtime(true) - $t; } printf('%0.4f second(s)'.PHP_EOL, array_sum($times)/$tries); echo "isset: "; $times = array(); for ($j=0; $j<$tries; $j++) { $t = microtime(true); for($i = 0; $i < $cycles; $i++) { isset($array[$key]); } $times[$j] = microtime(true) - $t; } printf('%0.4f second(s)'.PHP_EOL, array_sum($times)/$tries); } $cycles = 1000000; $tries = 5; echo '----------------------', PHP_EOL; test(1000, $cycles, $tries); echo '----------------------', PHP_EOL; test(10000, $cycles, $tries); echo '----------------------', PHP_EOL; test(100000, $cycles, $tries); echo '----------------------', PHP_EOL;

preferences:
47.92 ms | 400 KiB | 5 Q