3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * @param array $numbers * * @return array */ function find_even(array $numbers) { if (count($numbers) === 0) { return []; } if (count($numbers) === 1) { return has_even($numbers) ? $numbers : []; } list($left, $right) = array_chunk($numbers, ceil(count($numbers) / 2)); $left = has_even($left) ? $left : []; $right = has_even($right) ? $right : []; $leftResult = (count($left) > 1) ? find_even($left) : $left; $rightResult = (count($right) > 1) ? find_even($right) : $right; return array_merge($leftResult, $rightResult); } /** * @param array $numbers * * @return bool */ function has_even(array $numbers) { echo join(' ', $numbers) . PHP_EOL; foreach ($numbers as $number) { if ($number % 2 === 0) { return true; } } return false; } $numbers = [1, 2, 3, 7, 5, 7, 1, 3, 4, 9, 7, 3, 5, 7, 9]; echo join(' ', $numbers) . PHP_EOL . PHP_EOL; echo PHP_EOL . join(' ', find_even($numbers)) . PHP_EOL;

preferences:
41.26 ms | 402 KiB | 5 Q