123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- /**
- * @package Grav\Framework\Collection
- *
- * @copyright Copyright (C) 2015 - 2018 Trilby Media, LLC. All rights reserved.
- * @license MIT License; see LICENSE file for details.
- */
- namespace Grav\Framework\Collection;
- use Doctrine\Common\Collections\ArrayCollection as BaseArrayCollection;
- /**
- * General JSON serializable collection.
- *
- * @package Grav\Framework\Collection
- */
- class ArrayCollection extends BaseArrayCollection implements CollectionInterface
- {
- /**
- * Reverse the order of the items.
- *
- * @return static
- */
- public function reverse()
- {
- return $this->createFrom(array_reverse($this->toArray()));
- }
- /**
- * Shuffle items.
- *
- * @return static
- */
- public function shuffle()
- {
- $keys = $this->getKeys();
- shuffle($keys);
- return $this->createFrom(array_replace(array_flip($keys), $this->toArray()));
- }
- /**
- * Split collection into chunks.
- *
- * @param int $size Size of each chunk.
- * @return array
- */
- public function chunk($size)
- {
- return array_chunk($this->toArray(), $size, true);
- }
- /**
- * Implementes JsonSerializable interface.
- *
- * @return array
- */
- public function jsonSerialize()
- {
- return $this->toArray();
- }
- }
|