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