bogosoft / collections
Contracts and implementations for working with sequences and collections.
2.1.0
2020-06-29 18:00 UTC
Requires
- php: >=7.4
- bogosoft/core: ^2
Requires (Dev)
- phpunit/phpunit: ^8.5
README
This library contains the Sequence
class for fluently working with and modifying sequences of items.
The Sequence
class implements the following interfaces:
Countable
IteratorAggregate
Requirements
- PHP >= 7.4
Installation
composer require bogosoft/collections
Utility Functions
The following functions all return an instance of the Sequence
class or provide Sequence
-like logic in a functional manner.
Function | Description |
---|---|
all(iterable, callable) |
Determine if all of the items in a given sequence match a given condition. |
any(iterable, ?callable) |
Determine if any item in the given sequence matches a given condition. |
filter(iterable, callable) |
Filter an array or Traversable and return a new Sequence |
seq(iterable) |
Creates a sequence from an iterable source (i.e., an array or anything that implements Traversable ). |
seqi(mixed, callable) |
Create a sequence from a singleton seed value and an expansion function. |
seqv(mixed ... $items) |
Creates a sequence from zero or more variadic arguments. |
sort(iterable, ?callable) |
Sort a sequence with an optional comparer. |
sortc(iterable, bool) |
Sort a sequence of IComparable objects in either ascending or descending order. |
Sequence
Methods
all
any
append
apply
collect
count
filter
fold
getFirst
getFirstOrDefault
getLast
getLastOrDefault
getSingle
getSingleOrDefault
iter
map
prepend
skip
sort
sortc
take
toArray