3v4l.org

run code in 300+ PHP versions simultaneously
<?php function any(array $array, callable $predicate) { return ((bool) count($array)) && array_reduce($array, function ($bool, $item) use ($predicate) { return $bool || (bool) $predicate($item); }, false); } function all(array $array, callable $predicate) { return ((bool) count($array)) && array_reduce($array, function ($bool, $item) use ($predicate) { return $bool && (bool) $predicate($item); }, true); } $valuesArray = [ [ false, false, true ], [ false, true, false ], [ false, true, true ], [ true, false, false ], [ true, false, true ], [ true, true, false ], [ true, true, true ], ]; foreach ($valuesArray as $values) { var_dump(['any' => any($values, function ($value) { return $value; })]); var_dump(['all' => all($values, function ($value) { return $value; })]); }
Output for git.master, git.master_jit, rfc.property-hooks
array(1) { ["any"]=> bool(true) } array(1) { ["all"]=> bool(false) } array(1) { ["any"]=> bool(true) } array(1) { ["all"]=> bool(false) } array(1) { ["any"]=> bool(true) } array(1) { ["all"]=> bool(false) } array(1) { ["any"]=> bool(true) } array(1) { ["all"]=> bool(false) } array(1) { ["any"]=> bool(true) } array(1) { ["all"]=> bool(false) } array(1) { ["any"]=> bool(true) } array(1) { ["all"]=> bool(false) } array(1) { ["any"]=> bool(true) } array(1) { ["all"]=> bool(true) }

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:
40.02 ms | 402 KiB | 8 Q