Collection

class Collection implements ArrayAccess, Enumerable (View source)

Traits

EnumeratesValues
Macroable

Properties

static protected string[] $proxies The methods that can be proxied. from EnumeratesValues
static protected array $macros The registered string macros. from Macroable
protected array $items The items contained in the collection.

Methods

static EnumeratesValues make(mixed $items = [])

Create a new collection instance if the value isn't one already.

from EnumeratesValues
static EnumeratesValues wrap(mixed $value)

Wrap the given value in a collection if applicable.

from EnumeratesValues
static array unwrap(array|EnumeratesValues $value)

Get the underlying items from the given collection if applicable.

from EnumeratesValues
static EnumeratesValues empty()

Create a new instance with no items.

from EnumeratesValues
static EnumeratesValues times(int $number, callable $callback = null)

Create a new collection by invoking the callback a given amount of times.

from EnumeratesValues
mixed average(callable|string|null $callback = null)

Alias for the "avg" method.

from EnumeratesValues
bool some(mixed $key, mixed $operator = null, mixed $value = null)

Alias for the "contains" method.

from EnumeratesValues
bool containsStrict(mixed $key, mixed $value = null)

Determine if an item exists, using strict comparison.

from EnumeratesValues
void dd(mixed ...$args)

Dump the items and end the script.

from EnumeratesValues
$this dump()

Dump the items.

from EnumeratesValues
$this each(callable $callback)

Execute a callback over each item.

from EnumeratesValues
EnumeratesValues eachSpread(callable $callback)

Execute a callback over each nested chunk of items.

from EnumeratesValues
bool every(string|callable $key, mixed $operator = null, mixed $value = null)

Determine if all items pass the given truth test.

from EnumeratesValues
mixed firstWhere(string $key, mixed $operator = null, mixed $value = null)

Get the first item by the given key value pair.

from EnumeratesValues
bool isNotEmpty()

Determine if the collection is not empty.

from EnumeratesValues
EnumeratesValues mapSpread(callable $callback)

Run a map over each nested chunk of items.

from EnumeratesValues
EnumeratesValues mapToGroups(callable $callback)

Run a grouping map over the items.

from EnumeratesValues
EnumeratesValues flatMap(callable $callback)

Map a collection and flatten the result by a single level.

from EnumeratesValues
EnumeratesValues mapInto(string $class)

Map the values into a new class.

from EnumeratesValues
mixed min(callable|string|null $callback = null)

Get the min value of a given key.

from EnumeratesValues
mixed max(callable|string|null $callback = null)

Get the max value of a given key.

from EnumeratesValues
EnumeratesValues forPage(int $page, int $perPage)

"Paginate" the collection by slicing it into a smaller collection.

from EnumeratesValues
EnumeratesValues partition(callable|string $key, mixed $operator = null, mixed $value = null)

Partition the collection into two arrays using the given callback or key.

from EnumeratesValues
mixed sum(callable|string|null $callback = null)

Get the sum of the given values.

from EnumeratesValues
EnumeratesValues|mixed when(bool|mixed $value, callable $callback = null, callable $default = null)

Apply the callback if the value is truthy.

from EnumeratesValues
EnumeratesValues|mixed whenEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is empty.

from EnumeratesValues
EnumeratesValues|mixed whenNotEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is not empty.

from EnumeratesValues
EnumeratesValues|mixed unless(bool $value, callable $callback, callable $default = null)

Apply the callback if the value is falsy.

from EnumeratesValues
EnumeratesValues|mixed unlessEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is empty.

from EnumeratesValues
EnumeratesValues|mixed unlessNotEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is not empty.

from EnumeratesValues
EnumeratesValues where(string $key, mixed $operator = null, mixed $value = null)

Filter items by the given key value pair.

from EnumeratesValues
EnumeratesValues whereNull(string|null $key = null)

Filter items where the value for the given key is null.

from EnumeratesValues
EnumeratesValues whereNotNull(string|null $key = null)

Filter items where the value for the given key is not null.

from EnumeratesValues
EnumeratesValues whereStrict(string $key, mixed $value)

Filter items by the given key value pair using strict comparison.

from EnumeratesValues
EnumeratesValues whereIn(string $key, mixed $values, bool $strict = false)

Filter items by the given key value pair.

from EnumeratesValues
EnumeratesValues whereInStrict(string $key, mixed $values)

Filter items by the given key value pair using strict comparison.

from EnumeratesValues
EnumeratesValues whereBetween(string $key, array $values)

Filter items such that the value of the given key is between the given values.

from EnumeratesValues
EnumeratesValues whereNotBetween(string $key, array $values)

Filter items such that the value of the given key is not between the given values.

from EnumeratesValues
EnumeratesValues whereNotIn(string $key, mixed $values, bool $strict = false)

Filter items by the given key value pair.

from EnumeratesValues
EnumeratesValues whereNotInStrict(string $key, mixed $values)

Filter items by the given key value pair using strict comparison.

from EnumeratesValues
EnumeratesValues whereInstanceOf(string $type)

Filter the items, removing any items that don't match the given type.

from EnumeratesValues
mixed pipe(callable $callback)

Pass the collection to the given callback and return the result.

from EnumeratesValues
mixed pipeInto(string $class)

Pass the collection into a new class.

from EnumeratesValues
$this tap(callable $callback)

Pass the collection to the given callback and then return it.

from EnumeratesValues
EnumeratesValues reject(callable|mixed $callback = true)

Create a collection of all elements that do not pass a given truth test.

from EnumeratesValues
EnumeratesValues unique(string|callable|null $key = null, bool $strict = false)

Return only unique items from the collection array.

from EnumeratesValues
EnumeratesValues uniqueStrict(string|callable|null $key = null)

Return only unique items from the collection array using strict comparison.

from EnumeratesValues
Collection collect()

Collect the values into a collection.

from EnumeratesValues
array toArray()

Get the collection of items as a plain array.

from EnumeratesValues
array jsonSerialize()

Convert the object into something JSON serializable.

from EnumeratesValues
string toJson(int $options = 0)

Get the collection of items as JSON.

from EnumeratesValues
CachingIterator getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)

Get a CachingIterator instance.

from EnumeratesValues
string __toString()

Convert the collection to its string representation.

from EnumeratesValues
static void proxy(string $method)

Add a method to the list of proxied methods.

from EnumeratesValues
mixed __get(string $key)

Dynamically access collection proxies.

from EnumeratesValues
array getArrayableItems(mixed $items)

Results array of items from Collection or Arrayable.

from EnumeratesValues
Closure operatorForWhere(string $key, string|null $operator = null, mixed $value = null)

Get an operator checker callback.

from EnumeratesValues
bool useAsCallable(mixed $value)

Determine if the given value is callable, but not a string.

from EnumeratesValues
callable valueRetriever(callable|string|null $value)

Get a value retrieving callback.

from EnumeratesValues
Closure equality(mixed $value)

Make a function to check an item's equality.

from EnumeratesValues
Closure negate(Closure $callback)

Make a function using another function, by negating its result.

from EnumeratesValues
Closure identity()

Make a function that returns what's passed to it.

from EnumeratesValues
static void macro(string $name, object|callable $macro)

Register a custom macro.

from Macroable
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

from Macroable
static bool hasMacro(string $name)

Checks if macro is registered.

from Macroable
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

from Macroable
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

from Macroable
void __construct(mixed $items = [])

Create a new collection.

static Enumerable range(int $from, int $to)

Create a collection with the given range.

array all()

Get all of the items in the collection.

LazyCollection lazy()

Get a lazy collection for the items in this collection.

mixed avg(callable|string|null $callback = null)

Get the average value of a given key.

mixed median(string|array|null $key = null)

Get the median of a given key.

array|null mode(string|array|null $key = null)

Get the mode of a given key.

Enumerable collapse()

Collapse the collection of items into a single array.

bool contains(mixed $key, mixed $operator = null, mixed $value = null)

Determine if an item exists in the collection.

Enumerable crossJoin(mixed ...$lists)

Cross join with the given lists, returning all possible permutations.

Enumerable diff(mixed $items)

Get the items in the collection that are not present in the given items.

Enumerable diffUsing(mixed $items, callable $callback)

Get the items in the collection that are not present in the given items, using the callback.

Enumerable diffAssoc(mixed $items)

Get the items in the collection whose keys and values are not present in the given items.

Enumerable diffAssocUsing(mixed $items, callable $callback)

Get the items in the collection whose keys and values are not present in the given items, using the callback.

Enumerable diffKeys(mixed $items)

Get the items in the collection whose keys are not present in the given items.

Enumerable diffKeysUsing(mixed $items, callable $callback)

Get the items in the collection whose keys are not present in the given items, using the callback.

Enumerable duplicates(callable|null $callback = null, bool $strict = false)

Retrieve duplicate items from the collection.

Enumerable duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items from the collection using strict comparison.

Closure duplicateComparator(bool $strict)

Get the comparison function to detect duplicates.

Enumerable except(mixed $keys)

Get all items except for those with the specified keys.

Enumerable filter(callable $callback = null)

Run a filter over each of the items.

mixed first(callable $callback = null, mixed $default = null)

Get the first item from the collection passing the given truth test.

Enumerable flatten(int $depth = INF)

Get a flattened array of the items in the collection.

Enumerable flip()

Flip the items in the collection.

$this forget(string|array $keys)

Remove an item from the collection by key.

mixed get(mixed $key, mixed $default = null)

Get an item from the collection by key.

Enumerable groupBy(array|callable|string $groupBy, bool $preserveKeys = false)

Group an associative array by a field or using a callback.

Enumerable keyBy(callable|string $keyBy)

Key an associative array by a field or using a callback.

bool has(mixed $key)

Determine if an item exists in the collection by key.

string implode(string $value, string|null $glue = null)

Concatenate values of a given key as a string.

Enumerable intersect(mixed $items)

Intersect the collection with the given items.

Enumerable intersectByKeys(mixed $items)

Intersect the collection with the given items by key.

bool isEmpty()

Determine if the collection is empty or not.

string join(string $glue, string $finalGlue = '')

Join all items from the collection using a string. The final items can use a separate glue string.

Enumerable keys()

Get the keys of the collection items.

mixed last(callable $callback = null, mixed $default = null)

Get the last item from the collection.

Enumerable pluck(string|array $value, string|null $key = null)

Get the values of a given key.

Enumerable map(callable $callback)

Run a map over each of the items.

Enumerable mapToDictionary(callable $callback)

Run a dictionary map over the items.

Enumerable mapWithKeys(callable $callback)

Run an associative map over each of the items.

Enumerable merge(mixed $items)

Merge the collection with the given items.

Enumerable mergeRecursive(mixed $items)

Recursively merge the collection with the given items.

Enumerable combine(mixed $values)

Create a collection by using this collection for keys and another for its values.

Enumerable union(mixed $items)

Union the collection with the given items.

Enumerable nth(int $step, int $offset = 0)

Create a new collection consisting of every n-th element.

Enumerable only(mixed $keys)

Get the items with the specified keys.

mixed pop()

Get and remove the last item from the collection.

$this prepend(mixed $value, mixed $key = null)

Push an item onto the beginning of the collection.

$this push(mixed ...$values)

Push one or more items onto the end of the collection.

Enumerable concat(iterable $source)

Push all of the given items onto the collection.

mixed pull(mixed $key, mixed $default = null)

Get and remove an item from the collection.

$this put(mixed $key, mixed $value)

Put an item in the collection by key.

Enumerable|mixed random(int|null $number = null)

Get one or a specified number of items randomly from the collection.

mixed reduce(callable $callback, mixed $initial = null)

Reduce the collection to a single value.

Enumerable replace(mixed $items)

Replace the collection items with the given items.

Enumerable replaceRecursive(mixed $items)

Recursively replace the collection items with the given items.

Enumerable reverse()

Reverse items order.

mixed search(mixed $value, bool $strict = false)

Search the collection for a given value and return the corresponding key if successful.

mixed shift()

Get and remove the first item from the collection.

Enumerable shuffle(int|null $seed = null)

Shuffle the items in the collection.

Enumerable skip(int $count)

Skip the first {$count} items.

Enumerable skipUntil(mixed $value)

Skip items in the collection until the given condition is met.

Enumerable skipWhile(mixed $value)

Skip items in the collection while the given condition is met.

Enumerable slice(int $offset, int|null $length = null)

Slice the underlying collection array.

Enumerable split(int $numberOfGroups)

Split a collection into a certain number of groups.

Enumerable chunk(int $size)

Chunk the collection into chunks of the given size.

Enumerable chunkWhile(callable $callback)

Chunk the collection into chunks with a callback.

Enumerable sort(callable|null|int $callback = null)

Sort through each item with a callback.

Enumerable sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

Enumerable sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)

Sort the collection using the given callback.

Enumerable sortByDesc(callable|string $callback, int $options = SORT_REGULAR)

Sort the collection in descending order using the given callback.

Enumerable sortKeys(int $options = SORT_REGULAR, bool $descending = false)

Sort the collection keys.

Enumerable sortKeysDesc(int $options = SORT_REGULAR)

Sort the collection keys in descending order.

Collection splice(int $offset, int|null $length = null, mixed $replacement = [])

Splice a portion of the underlying collection array.

Enumerable take(int $limit)

Take the first or last {$limit} items.

Enumerable takeUntil(mixed $value)

Take items in the collection until the given condition is met.

Enumerable takeWhile(mixed $value)

Take items in the collection while the given condition is met.

$this transform(callable $callback)

Transform each item in the collection using a callback.

Enumerable values()

Reset the keys on the underlying array.

Enumerable zip(mixed $items)

Zip the collection together with one or more arrays.

Enumerable pad(int $size, mixed $value)

Pad collection to the specified length with a value.

ArrayIterator getIterator()

Get an iterator for the items.

int count()

Count the number of items in the collection.

Enumerable countBy(callable|string $countBy = null)

Count the number of items in the collection by a field or using a callback.

$this add(mixed $item)

Add an item to the collection.

Collection toBase()

Get a base Support collection instance from this collection.

bool offsetExists(mixed $key)

Determine if an item exists at an offset.

mixed offsetGet(mixed $key)

Get an item at a given offset.

void offsetSet(mixed $key, mixed $value)

Set the item at a given offset.

void offsetUnset(string $key)

Unset the item at a given offset.

Details

static EnumeratesValues make(mixed $items = [])

Create a new collection instance if the value isn't one already.

Parameters

mixed $items

Return Value

EnumeratesValues

static EnumeratesValues wrap(mixed $value)

Wrap the given value in a collection if applicable.

Parameters

mixed $value

Return Value

EnumeratesValues

static array unwrap(array|EnumeratesValues $value)

Get the underlying items from the given collection if applicable.

Parameters

array|EnumeratesValues $value

Return Value

array

static EnumeratesValues empty()

Create a new instance with no items.

Return Value

EnumeratesValues

static EnumeratesValues times(int $number, callable $callback = null)

Create a new collection by invoking the callback a given amount of times.

Parameters

int $number
callable $callback

Return Value

EnumeratesValues

mixed average(callable|string|null $callback = null)

Alias for the "avg" method.

Parameters

callable|string|null $callback

Return Value

mixed

bool some(mixed $key, mixed $operator = null, mixed $value = null)

Alias for the "contains" method.

Parameters

mixed $key
mixed $operator
mixed $value

Return Value

bool

bool containsStrict(mixed $key, mixed $value = null)

Determine if an item exists, using strict comparison.

Parameters

mixed $key
mixed $value

Return Value

bool

void dd(mixed ...$args)

Dump the items and end the script.

Parameters

mixed ...$args

Return Value

void

$this dump()

Dump the items.

Return Value

$this

$this each(callable $callback)

Execute a callback over each item.

Parameters

callable $callback

Return Value

$this

EnumeratesValues eachSpread(callable $callback)

Execute a callback over each nested chunk of items.

Parameters

callable $callback

Return Value

EnumeratesValues

bool every(string|callable $key, mixed $operator = null, mixed $value = null)

Determine if all items pass the given truth test.

Parameters

string|callable $key
mixed $operator
mixed $value

Return Value

bool

mixed firstWhere(string $key, mixed $operator = null, mixed $value = null)

Get the first item by the given key value pair.

Parameters

string $key
mixed $operator
mixed $value

Return Value

mixed

bool isNotEmpty()

Determine if the collection is not empty.

Return Value

bool

EnumeratesValues mapSpread(callable $callback)

Run a map over each nested chunk of items.

Parameters

callable $callback

Return Value

EnumeratesValues

EnumeratesValues mapToGroups(callable $callback)

Run a grouping map over the items.

The callback should return an associative array with a single key/value pair.

Parameters

callable $callback

Return Value

EnumeratesValues

EnumeratesValues flatMap(callable $callback)

Map a collection and flatten the result by a single level.

Parameters

callable $callback

Return Value

EnumeratesValues

EnumeratesValues mapInto(string $class)

Map the values into a new class.

Parameters

string $class

Return Value

EnumeratesValues

mixed min(callable|string|null $callback = null)

Get the min value of a given key.

Parameters

callable|string|null $callback

Return Value

mixed

mixed max(callable|string|null $callback = null)

Get the max value of a given key.

Parameters

callable|string|null $callback

Return Value

mixed

EnumeratesValues forPage(int $page, int $perPage)

"Paginate" the collection by slicing it into a smaller collection.

Parameters

int $page
int $perPage

Return Value

EnumeratesValues

EnumeratesValues partition(callable|string $key, mixed $operator = null, mixed $value = null)

Partition the collection into two arrays using the given callback or key.

Parameters

callable|string $key
mixed $operator
mixed $value

Return Value

EnumeratesValues

mixed sum(callable|string|null $callback = null)

Get the sum of the given values.

Parameters

callable|string|null $callback

Return Value

mixed

EnumeratesValues|mixed when(bool|mixed $value, callable $callback = null, callable $default = null)

Apply the callback if the value is truthy.

Parameters

bool|mixed $value
callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed whenEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is empty.

Parameters

callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed whenNotEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is not empty.

Parameters

callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed unless(bool $value, callable $callback, callable $default = null)

Apply the callback if the value is falsy.

Parameters

bool $value
callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed unlessEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is empty.

Parameters

callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues|mixed unlessNotEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is not empty.

Parameters

callable $callback
callable $default

Return Value

EnumeratesValues|mixed

EnumeratesValues where(string $key, mixed $operator = null, mixed $value = null)

Filter items by the given key value pair.

Parameters

string $key
mixed $operator
mixed $value

Return Value

EnumeratesValues

EnumeratesValues whereNull(string|null $key = null)

Filter items where the value for the given key is null.

Parameters

string|null $key

Return Value

EnumeratesValues

EnumeratesValues whereNotNull(string|null $key = null)

Filter items where the value for the given key is not null.

Parameters

string|null $key

Return Value

EnumeratesValues

EnumeratesValues whereStrict(string $key, mixed $value)

Filter items by the given key value pair using strict comparison.

Parameters

string $key
mixed $value

Return Value

EnumeratesValues

EnumeratesValues whereIn(string $key, mixed $values, bool $strict = false)

Filter items by the given key value pair.

Parameters

string $key
mixed $values
bool $strict

Return Value

EnumeratesValues

EnumeratesValues whereInStrict(string $key, mixed $values)

Filter items by the given key value pair using strict comparison.

Parameters

string $key
mixed $values

Return Value

EnumeratesValues

EnumeratesValues whereBetween(string $key, array $values)

Filter items such that the value of the given key is between the given values.

Parameters

string $key
array $values

Return Value

EnumeratesValues

EnumeratesValues whereNotBetween(string $key, array $values)

Filter items such that the value of the given key is not between the given values.

Parameters

string $key
array $values

Return Value

EnumeratesValues

EnumeratesValues whereNotIn(string $key, mixed $values, bool $strict = false)

Filter items by the given key value pair.

Parameters

string $key
mixed $values
bool $strict

Return Value

EnumeratesValues

EnumeratesValues whereNotInStrict(string $key, mixed $values)

Filter items by the given key value pair using strict comparison.

Parameters

string $key
mixed $values

Return Value

EnumeratesValues

EnumeratesValues whereInstanceOf(string $type)

Filter the items, removing any items that don't match the given type.

Parameters

string $type

Return Value

EnumeratesValues

mixed pipe(callable $callback)

Pass the collection to the given callback and return the result.

Parameters

callable $callback

Return Value

mixed

mixed pipeInto(string $class)

Pass the collection into a new class.

Parameters

string $class

Return Value

mixed

$this tap(callable $callback)

Pass the collection to the given callback and then return it.

Parameters

callable $callback

Return Value

$this

EnumeratesValues reject(callable|mixed $callback = true)

Create a collection of all elements that do not pass a given truth test.

Parameters

callable|mixed $callback

Return Value

EnumeratesValues

EnumeratesValues unique(string|callable|null $key = null, bool $strict = false)

Return only unique items from the collection array.

Parameters

string|callable|null $key
bool $strict

Return Value

EnumeratesValues

EnumeratesValues uniqueStrict(string|callable|null $key = null)

Return only unique items from the collection array using strict comparison.

Parameters

string|callable|null $key

Return Value

EnumeratesValues

Collection collect()

Collect the values into a collection.

Return Value

Collection

array toArray()

Get the collection of items as a plain array.

Return Value

array

array jsonSerialize()

Convert the object into something JSON serializable.

Return Value

array

string toJson(int $options = 0)

Get the collection of items as JSON.

Parameters

int $options

Return Value

string

CachingIterator getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)

Get a CachingIterator instance.

Parameters

int $flags

Return Value

CachingIterator

string __toString()

Convert the collection to its string representation.

Return Value

string

static void proxy(string $method)

Add a method to the list of proxied methods.

Parameters

string $method

Return Value

void

mixed __get(string $key)

Dynamically access collection proxies.

Parameters

string $key

Return Value

mixed

Exceptions

Exception

protected array getArrayableItems(mixed $items)

Results array of items from Collection or Arrayable.

Parameters

mixed $items

Return Value

array

protected Closure operatorForWhere(string $key, string|null $operator = null, mixed $value = null)

Get an operator checker callback.

Parameters

string $key
string|null $operator
mixed $value

Return Value

Closure

protected bool useAsCallable(mixed $value)

Determine if the given value is callable, but not a string.

Parameters

mixed $value

Return Value

bool

protected callable valueRetriever(callable|string|null $value)

Get a value retrieving callback.

Parameters

callable|string|null $value

Return Value

callable

protected Closure equality(mixed $value)

Make a function to check an item's equality.

Parameters

mixed $value

Return Value

Closure

protected Closure negate(Closure $callback)

Make a function using another function, by negating its result.

Parameters

Closure $callback

Return Value

Closure

protected Closure identity()

Make a function that returns what's passed to it.

Return Value

Closure

static void macro(string $name, object|callable $macro)

Register a custom macro.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

void __construct(mixed $items = [])

Create a new collection.

Parameters

mixed $items

Return Value

void

static Enumerable range(int $from, int $to)

Create a collection with the given range.

Parameters

int $from
int $to

Return Value

Enumerable

array all()

Get all of the items in the collection.

Return Value

array

LazyCollection lazy()

Get a lazy collection for the items in this collection.

Return Value

LazyCollection

mixed avg(callable|string|null $callback = null)

Get the average value of a given key.

Parameters

callable|string|null $callback

Return Value

mixed

mixed median(string|array|null $key = null)

Get the median of a given key.

Parameters

string|array|null $key

Return Value

mixed

array|null mode(string|array|null $key = null)

Get the mode of a given key.

Parameters

string|array|null $key

Return Value

array|null

Enumerable collapse()

Collapse the collection of items into a single array.

Return Value

Enumerable

bool contains(mixed $key, mixed $operator = null, mixed $value = null)

Determine if an item exists in the collection.

Parameters

mixed $key
mixed $operator
mixed $value

Return Value

bool

Enumerable crossJoin(mixed ...$lists)

Cross join with the given lists, returning all possible permutations.

Parameters

mixed ...$lists

Return Value

Enumerable

Enumerable diff(mixed $items)

Get the items in the collection that are not present in the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable diffUsing(mixed $items, callable $callback)

Get the items in the collection that are not present in the given items, using the callback.

Parameters

mixed $items
callable $callback

Return Value

Enumerable

Enumerable diffAssoc(mixed $items)

Get the items in the collection whose keys and values are not present in the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable diffAssocUsing(mixed $items, callable $callback)

Get the items in the collection whose keys and values are not present in the given items, using the callback.

Parameters

mixed $items
callable $callback

Return Value

Enumerable

Enumerable diffKeys(mixed $items)

Get the items in the collection whose keys are not present in the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable diffKeysUsing(mixed $items, callable $callback)

Get the items in the collection whose keys are not present in the given items, using the callback.

Parameters

mixed $items
callable $callback

Return Value

Enumerable

Enumerable duplicates(callable|null $callback = null, bool $strict = false)

Retrieve duplicate items from the collection.

Parameters

callable|null $callback
bool $strict

Return Value

Enumerable

Enumerable duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items from the collection using strict comparison.

Parameters

callable|null $callback

Return Value

Enumerable

protected Closure duplicateComparator(bool $strict)

Get the comparison function to detect duplicates.

Parameters

bool $strict

Return Value

Closure

Enumerable except(mixed $keys)

Get all items except for those with the specified keys.

Parameters

mixed $keys

Return Value

Enumerable

Enumerable filter(callable $callback = null)

Run a filter over each of the items.

Parameters

callable $callback

Return Value

Enumerable

mixed first(callable $callback = null, mixed $default = null)

Get the first item from the collection passing the given truth test.

Parameters

callable $callback
mixed $default

Return Value

mixed

Enumerable flatten(int $depth = INF)

Get a flattened array of the items in the collection.

Parameters

int $depth

Return Value

Enumerable

Enumerable flip()

Flip the items in the collection.

Return Value

Enumerable

$this forget(string|array $keys)

Remove an item from the collection by key.

Parameters

string|array $keys

Return Value

$this

mixed get(mixed $key, mixed $default = null)

Get an item from the collection by key.

Parameters

mixed $key
mixed $default

Return Value

mixed

Enumerable groupBy(array|callable|string $groupBy, bool $preserveKeys = false)

Group an associative array by a field or using a callback.

Parameters

array|callable|string $groupBy
bool $preserveKeys

Return Value

Enumerable

Enumerable keyBy(callable|string $keyBy)

Key an associative array by a field or using a callback.

Parameters

callable|string $keyBy

Return Value

Enumerable

bool has(mixed $key)

Determine if an item exists in the collection by key.

Parameters

mixed $key

Return Value

bool

string implode(string $value, string|null $glue = null)

Concatenate values of a given key as a string.

Parameters

string $value
string|null $glue

Return Value

string

Enumerable intersect(mixed $items)

Intersect the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable intersectByKeys(mixed $items)

Intersect the collection with the given items by key.

Parameters

mixed $items

Return Value

Enumerable

bool isEmpty()

Determine if the collection is empty or not.

Return Value

bool

string join(string $glue, string $finalGlue = '')

Join all items from the collection using a string. The final items can use a separate glue string.

Parameters

string $glue
string $finalGlue

Return Value

string

Enumerable keys()

Get the keys of the collection items.

Return Value

Enumerable

mixed last(callable $callback = null, mixed $default = null)

Get the last item from the collection.

Parameters

callable $callback
mixed $default

Return Value

mixed

Enumerable pluck(string|array $value, string|null $key = null)

Get the values of a given key.

Parameters

string|array $value
string|null $key

Return Value

Enumerable

Enumerable map(callable $callback)

Run a map over each of the items.

Parameters

callable $callback

Return Value

Enumerable

Enumerable mapToDictionary(callable $callback)

Run a dictionary map over the items.

The callback should return an associative array with a single key/value pair.

Parameters

callable $callback

Return Value

Enumerable

Enumerable mapWithKeys(callable $callback)

Run an associative map over each of the items.

The callback should return an associative array with a single key/value pair.

Parameters

callable $callback

Return Value

Enumerable

Enumerable merge(mixed $items)

Merge the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable mergeRecursive(mixed $items)

Recursively merge the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable combine(mixed $values)

Create a collection by using this collection for keys and another for its values.

Parameters

mixed $values

Return Value

Enumerable

Enumerable union(mixed $items)

Union the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable nth(int $step, int $offset = 0)

Create a new collection consisting of every n-th element.

Parameters

int $step
int $offset

Return Value

Enumerable

Enumerable only(mixed $keys)

Get the items with the specified keys.

Parameters

mixed $keys

Return Value

Enumerable

mixed pop()

Get and remove the last item from the collection.

Return Value

mixed

$this prepend(mixed $value, mixed $key = null)

Push an item onto the beginning of the collection.

Parameters

mixed $value
mixed $key

Return Value

$this

$this push(mixed ...$values)

Push one or more items onto the end of the collection.

Parameters

mixed ...$values [optional]

Return Value

$this

Enumerable concat(iterable $source)

Push all of the given items onto the collection.

Parameters

iterable $source

Return Value

Enumerable

mixed pull(mixed $key, mixed $default = null)

Get and remove an item from the collection.

Parameters

mixed $key
mixed $default

Return Value

mixed

$this put(mixed $key, mixed $value)

Put an item in the collection by key.

Parameters

mixed $key
mixed $value

Return Value

$this

Enumerable|mixed random(int|null $number = null)

Get one or a specified number of items randomly from the collection.

Parameters

int|null $number

Return Value

Enumerable|mixed

Exceptions

InvalidArgumentException

mixed reduce(callable $callback, mixed $initial = null)

Reduce the collection to a single value.

Parameters

callable $callback
mixed $initial

Return Value

mixed

Enumerable replace(mixed $items)

Replace the collection items with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable replaceRecursive(mixed $items)

Recursively replace the collection items with the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable reverse()

Reverse items order.

Return Value

Enumerable

Search the collection for a given value and return the corresponding key if successful.

Parameters

mixed $value
bool $strict

Return Value

mixed

mixed shift()

Get and remove the first item from the collection.

Return Value

mixed

Enumerable shuffle(int|null $seed = null)

Shuffle the items in the collection.

Parameters

int|null $seed

Return Value

Enumerable

Enumerable skip(int $count)

Skip the first {$count} items.

Parameters

int $count

Return Value

Enumerable

Enumerable skipUntil(mixed $value)

Skip items in the collection until the given condition is met.

Parameters

mixed $value

Return Value

Enumerable

Enumerable skipWhile(mixed $value)

Skip items in the collection while the given condition is met.

Parameters

mixed $value

Return Value

Enumerable

Enumerable slice(int $offset, int|null $length = null)

Slice the underlying collection array.

Parameters

int $offset
int|null $length

Return Value

Enumerable

Enumerable split(int $numberOfGroups)

Split a collection into a certain number of groups.

Parameters

int $numberOfGroups

Return Value

Enumerable

Enumerable chunk(int $size)

Chunk the collection into chunks of the given size.

Parameters

int $size

Return Value

Enumerable

Enumerable chunkWhile(callable $callback)

Chunk the collection into chunks with a callback.

Parameters

callable $callback

Return Value

Enumerable

Enumerable sort(callable|null|int $callback = null)

Sort through each item with a callback.

Parameters

callable|null|int $callback

Return Value

Enumerable

Enumerable sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

Parameters

int $options

Return Value

Enumerable

Enumerable sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)

Sort the collection using the given callback.

Parameters

callable|string $callback
int $options
bool $descending

Return Value

Enumerable

Enumerable sortByDesc(callable|string $callback, int $options = SORT_REGULAR)

Sort the collection in descending order using the given callback.

Parameters

callable|string $callback
int $options

Return Value

Enumerable

Enumerable sortKeys(int $options = SORT_REGULAR, bool $descending = false)

Sort the collection keys.

Parameters

int $options
bool $descending

Return Value

Enumerable

Enumerable sortKeysDesc(int $options = SORT_REGULAR)

Sort the collection keys in descending order.

Parameters

int $options

Return Value

Enumerable

Collection splice(int $offset, int|null $length = null, mixed $replacement = [])

Splice a portion of the underlying collection array.

Parameters

int $offset
int|null $length
mixed $replacement

Return Value

Collection

Enumerable take(int $limit)

Take the first or last {$limit} items.

Parameters

int $limit

Return Value

Enumerable

Enumerable takeUntil(mixed $value)

Take items in the collection until the given condition is met.

Parameters

mixed $value

Return Value

Enumerable

Enumerable takeWhile(mixed $value)

Take items in the collection while the given condition is met.

Parameters

mixed $value

Return Value

Enumerable

$this transform(callable $callback)

Transform each item in the collection using a callback.

Parameters

callable $callback

Return Value

$this

Enumerable values()

Reset the keys on the underlying array.

Return Value

Enumerable

Enumerable zip(mixed $items)

Zip the collection together with one or more arrays.

e.g. new Collection([1, 2, 3])->zip([4, 5, 6]); => [[1, 4], [2, 5], [3, 6]]

Parameters

mixed $items

Return Value

Enumerable

Enumerable pad(int $size, mixed $value)

Pad collection to the specified length with a value.

Parameters

int $size
mixed $value

Return Value

Enumerable

ArrayIterator getIterator()

Get an iterator for the items.

Return Value

ArrayIterator

int count()

Count the number of items in the collection.

Return Value

int

Enumerable countBy(callable|string $countBy = null)

Count the number of items in the collection by a field or using a callback.

Parameters

callable|string $countBy

Return Value

Enumerable

$this add(mixed $item)

Add an item to the collection.

Parameters

mixed $item

Return Value

$this

Collection toBase()

Get a base Support collection instance from this collection.

Return Value

Collection

bool offsetExists(mixed $key)

Determine if an item exists at an offset.

Parameters

mixed $key

Return Value

bool

mixed offsetGet(mixed $key)

Get an item at a given offset.

Parameters

mixed $key

Return Value

mixed

void offsetSet(mixed $key, mixed $value)

Set the item at a given offset.

Parameters

mixed $key
mixed $value

Return Value

void

void offsetUnset(string $key)

Unset the item at a given offset.

Parameters

string $key

Return Value

void

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Support/Collection.html