3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Behaves like a PHP array (unstructured) */ class Bag { private $_data; public function __construct(array $data) { $this->data = $data; } public function some(Closure $fn) { return new Bag(array_reduce($this->_data, function ($carry, $x) { return $fn($x) || $carry; }, false)); } public function every(Closure $fn) { return new Bag(array_reduce($this->_data, function ($carry, $x) { return $fn($x) && $carry; }, true)); } public function reduce(Closure $fn) { return new Bag(array_reduce($this->_data, $fn)); } public function map(Closure $fn) { return new Bag(array_map($fn, $this->_data)); } }

preferences:
54.7 ms | 402 KiB | 5 Q