3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = []; //$s = 123456; $s = 's6tbdfgj222dJGk'; $rs = str_repeat("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 10); $numGen = function() { return rand(1, 9999999); }; $strGen = function() { global $rs; return substr(str_shuffle($rs), 0, rand(10, 100)); }; //$gen = $numGen; $gen = $strGen; foreach ([10000, 1000, 100, 10] as $c) { echo "N={$c}\n"; for ($i = 0; $i < $c; $i++) { $a[$i] = $gen(); // if ($a[$i] === $s) { $a[$i] = null; } // if ($i === 0) { $a[$i] = $s; } // if ($i === $c / 2) { $a[$i] = $s; } // if ($i === $c - 1) { $a[$i] = $s; } } $t = microtime(1); $e = in_array($s, $a); echo "in_array: ", microtime(1) - $t, PHP_EOL; $t = microtime(1); $a = array_flip($a); $e = isset($a[$s]); echo "flip+isset: ", microtime(1) - $t, PHP_EOL; $t = microtime(1); $a = array_flip($a); $e = @$a[$s] === null; echo "flip+null comparison: ", microtime(1) - $t, PHP_EOL; $t = microtime(1); $e = array_search($s, $a); echo "array_search: ", microtime(1) - $t, PHP_EOL; echo PHP_EOL; }

preferences:
29.53 ms | 402 KiB | 5 Q