3v4l.org

run code in 500+ PHP versions simultaneously
<?php $numbersArr = range(1,100,3); Shuffle($numbersArr); $userInput = 7; $start = microtime(true); // Filter array, return values larger than user input $filtered = array_filter($numbersArr, function ($value) use($userInput) { return $value >= $userInput; } ); If(count($filtered)>0){ Echo min($filtered); }else{ Echo "no number larger than user input"; } Echo "\ntime = " . (microtime(true)-$start)*1000; $start2 = microtime(true); $match = false; Foreach($numbersArr as $item){ If($item >= $userInput) If($item < $match || $match == false) $match = $item; } Echo "\n\n" . $match; Echo "\ntime = " . (microtime(true)-$start2)*1000; $start3 = microtime(true); Echo "\n\n"; sort($numbersArr); $lastNumbr = end($numbersArr); if ($userInput <= $lastNumbr) { for ($i = ceil($userInput); $i <= $lastNumbr; $i+=1) { if (in_array($i, $numbersArr)) { echo 'found needle: '. $i; break; } } } else { echo "input number out of range, must be below " . $lastNumbr; } Echo "\ntime = " . (microtime(true)-$start3)*1000;

preferences:
40.32 ms | 633 KiB | 5 Q