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;
Output for git.master, git.master_jit, rfc.property-hooks
1 2 3 7 5 7 1 3 4 9 7 3 5 7 9 1 2 3 7 5 7 1 3 4 9 7 3 5 7 9 1 2 3 7 5 7 1 3 1 2 3 7 1 2 4 9 7 3 5 7 9 4 9 7 3 4 9 2 4

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:
50.36 ms | 401 KiB | 8 Q