/** * @dataProvider dataGroupProvider * * @param $callback * @param $array * @param $expect */ public function testGroup($callback, $array, $expect) { $actual = Arrays::group($array, $callback); $this->assertEquals($expect, $actual); $this->assertEquals(json_encode($expect), json_encode($actual)); }
/** * @param callable $callback * @return Map */ public function group(callable $callback) { $items = $this->toArray(); return new ArrayMap(Arrays::group($items, $callback)); }