bogosoft/collections

Contracts and implementations for working with sequences and collections.

2.1.0 2020-06-29 18:00 UTC

This package is auto-updated.

Last update: 2024-03-29 03:52:20 UTC


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