public function slice(array $array, $begin, $end = null)
{
if ($end === null) {
$end = count($array);
} elseif ($end < 0) {
$end = count($array) + $end;
}
$length = $end - $begin;
return array_slice($array, $begin, $length);
}
/** * @test * @dataProvider sliceExamples */ public function sliceWorks($array, $begin, $end, $expected) { $helper = new ArrayHelper(); if ($end !== null) { $result = $helper->slice($array, $begin, $end); } else { $result = $helper->slice($array, $begin); } $this->assertEquals($expected, $result); }