20250208
+ [ObjectArray]: Добавлена функция Skip для пропуска $offset элементов массива. + [ObjectArray]: Добавлена функция Take для получения $count элементов массива. + [ObjectArray]: Добавлена функция SkipAndTake для получения $count элементов массива, начиная с индекса $startFrom.
This commit is contained in:
@@ -334,4 +334,49 @@ trait ObjectArrayLINQTrait
|
||||
// Возвращаем первый элемент
|
||||
return $lastElement;
|
||||
}
|
||||
|
||||
/**
|
||||
* Пропускает первые $count элементов массива. Возвращает новый массив.
|
||||
*
|
||||
* ВНИМАНИЕ: рекомендуется использовать ТОЛЬКО на отсортированных массивах.
|
||||
*
|
||||
* @param int $count Количество элементов, которые необходимо обрезать с начала массива.
|
||||
*
|
||||
* @return ObjectArray Возвращает новый массив, состоящий из элементов, начиная с $count + 1 элемента.
|
||||
*/
|
||||
public function Skip (int $count): ObjectArray
|
||||
{
|
||||
return new ObjectArray(array_slice($this->Container, $count));
|
||||
}
|
||||
|
||||
/**
|
||||
* Получает первые $count элементов массива. Возвращает новый массив.
|
||||
*
|
||||
* ВНИМАНИЕ: рекомендуется использовать ТОЛЬКО на отсортированных массивах.
|
||||
*
|
||||
* @param int $count Количество элементов, которые необходимо получить с начала массива.
|
||||
*
|
||||
* @return ObjectArray Возвращает новый массив, состоящий из первых $count элементов старого массива.
|
||||
*/
|
||||
public function Take (int $count): ObjectArray
|
||||
{
|
||||
return new ObjectArray(array_slice($this->Container, 0, $count));
|
||||
}
|
||||
|
||||
/**
|
||||
* Совмещает в себе две функции, которые одновременно применяет к массиву: Skip ($startFrom) и Take ($count).
|
||||
* Возвращает новый массив.
|
||||
*
|
||||
* ВНИМАНИЕ: рекомендуется использовать ТОЛЬКО на отсортированных массивах.
|
||||
*
|
||||
* @param int $startFrom Начальный индекс массива, с которого нужно получить.
|
||||
* @param int $count Количество элементов, которые необходимо получить.
|
||||
*
|
||||
* @return ObjectArray Возвращает новый массив, состоящий из $count элементов старого массива, начиная с индекса
|
||||
* $startFrom.
|
||||
*/
|
||||
public function SkipAndTake (int $startFrom, int $count): ObjectArray
|
||||
{
|
||||
return new ObjectArray(array_slice($this->Container, $startFrom, $count));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user