class Collection implements ArrayAccess, Enumerable (View source)

Traits

Properties

static protected array $proxies

The methods that can be proxied.

from  EnumeratesValues
HigherOrderCollectionProxy read-only $average from  EnumeratesValues
HigherOrderCollectionProxy read-only $avg from  EnumeratesValues
HigherOrderCollectionProxy read-only $contains from  EnumeratesValues
HigherOrderCollectionProxy read-only $each from  EnumeratesValues
HigherOrderCollectionProxy read-only $every from  EnumeratesValues
HigherOrderCollectionProxy read-only $filter from  EnumeratesValues
HigherOrderCollectionProxy read-only $first from  EnumeratesValues
HigherOrderCollectionProxy read-only $flatMap from  EnumeratesValues
HigherOrderCollectionProxy read-only $groupBy from  EnumeratesValues
HigherOrderCollectionProxy read-only $keyBy from  EnumeratesValues
HigherOrderCollectionProxy read-only $map from  EnumeratesValues
HigherOrderCollectionProxy read-only $max from  EnumeratesValues
HigherOrderCollectionProxy read-only $min from  EnumeratesValues
HigherOrderCollectionProxy read-only $partition from  EnumeratesValues
HigherOrderCollectionProxy read-only $reject from  EnumeratesValues
HigherOrderCollectionProxy read-only $some from  EnumeratesValues
HigherOrderCollectionProxy read-only $sortBy from  EnumeratesValues
HigherOrderCollectionProxy read-only $sortByDesc from  EnumeratesValues
HigherOrderCollectionProxy read-only $sum from  EnumeratesValues
HigherOrderCollectionProxy read-only $unique from  EnumeratesValues
HigherOrderCollectionProxy read-only $until from  EnumeratesValues
static protected array $macros

The registered string macros.

from  Macroable
protected array $items

The items contained in the collection.

Methods

make(mixed $items = [])

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

wrap(mixed $value)

Wrap the given value in a collection if applicable.

static array
unwrap(array|EnumeratesValues $value)

Get the underlying items from the given collection if applicable.

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

Alias for the "avg" method.

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

Alias for the "contains" method.

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

Determine if an item exists, using strict comparison.

void
dd(mixed ...$args)

Dump the items and end the script.

$this
dump()

Dump the items.

$this
each(callable $callback)

Execute a callback over each item.

eachSpread(callable $callback)

Execute a callback over each nested chunk of items.

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

Determine if all items pass the given truth test.

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

Get the first item by the given key value pair.

bool
isNotEmpty()

Determine if the collection is not empty.

mapSpread(callable $callback)

Run a map over each nested chunk of items.

mapToGroups(callable $callback)

Run a grouping map over the items.

flatMap(callable $callback)

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

mapInto(string $class)

Map the values into a new class.

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

Get the min value of a given key.

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

Get the max value of a given key.

forPage(int $page, int $perPage)

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

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

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

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

Get the sum of the given values.

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

Apply the callback if the value is truthy.

whenEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is empty.

whenNotEmpty(callable $callback, callable $default = null)

Apply the callback if the collection is not empty.

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

Apply the callback if the value is falsy.

unlessEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is empty.

unlessNotEmpty(callable $callback, callable $default = null)

Apply the callback unless the collection is not empty.

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

Filter items by the given key value pair.

whereNull(string|null $key = null)

Filter items where the given key is not null.

whereNotNull(string|null $key = null)

Filter items where the given key is null.

whereStrict(string $key, mixed $value)

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

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

Filter items by the given key value pair.

whereInStrict(string $key, mixed $values)

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

whereBetween(string $key, array $values)

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

whereNotBetween(string $key, array $values)

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

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

Filter items by the given key value pair.

whereNotInStrict(string $key, mixed $values)

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

whereInstanceOf(string $type)

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

mixed
pipe(callable $callback)

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

$this
tap(callable $callback)

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

reject(callable|mixed $callback = true)

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

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

Return only unique items from the collection array.

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

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

until(mixed $value) deprecated

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

collect()

Collect the values into a collection.

array
toArray()

Get the collection of items as a plain array.

array
jsonSerialize()

Convert the object into something JSON serializable.

string
toJson(int $options = 0)

Get the collection of items as JSON.

getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)

Get a CachingIterator instance.

string
__toString()

Convert the collection to its string representation.

static void
proxy(string $method)

Add a method to the list of proxied methods.

mixed
__get(string $key)

Dynamically access collection proxies.

array
getArrayableItems(mixed $items)

Results array of items from Collection or Arrayable.

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

Get an operator checker callback.

bool
useAsCallable(mixed $value)

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

callable
valueRetriever(callable|string|null $value)

Get a value retrieving callback.

equality(mixed $value)

Make a function to check an item's equality.

negate(Closure $callback)

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

identity()

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

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

Register a custom macro.

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

Mix another object into the class.

static bool
hasMacro(string $name)

Checks if macro is registered.

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

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

void
__construct(mixed $items = [])

Create a new collection.

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

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

array
all()

Get all of the items in the collection.

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.

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.

crossJoin(mixed ...$lists)

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

diff(mixed $items)

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

diffUsing(mixed $items, callable $callback)

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

diffAssoc(mixed $items)

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

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.

diffKeys(mixed $items)

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

diffKeysUsing(mixed $items, callable $callback)

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

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

Retrieve duplicate items from the collection.

duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items from the collection using strict comparison.

duplicateComparator(bool $strict)

Get the comparison function to detect duplicates.

except(mixed $keys)

Get all items except for those with the specified keys.

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.

flatten(int $depth = INF)

Get a flattened array of the items in the collection.

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.

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

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

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.

intersect(mixed $items)

Intersect the collection with the given items.

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.

keys()

Get the keys of the collection items.

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

Get the last item from the collection.

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

Get the values of a given key.

map(callable $callback)

Run a map over each of the items.

mapToDictionary(callable $callback)

Run a dictionary map over the items.

mapWithKeys(callable $callback)

Run an associative map over each of the items.

merge(mixed $items)

Merge the collection with the given items.

mergeRecursive(mixed $items)

Recursively merge the collection with the given items.

combine(mixed $values)

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

union(mixed $items)

Union the collection with the given items.

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

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

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.

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.

replace(mixed $items)

Replace the collection items with the given items.

replaceRecursive(mixed $items)

Recursively replace the collection items with the given items.

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.

shuffle(int|null $seed = null)

Shuffle the items in the collection.

skip(int $count)

Skip the first {$count} items.

skipUntil(mixed $value)

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

skipWhile(mixed $value)

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

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

Slice the underlying collection array.

split(int $numberOfGroups)

Split a collection into a certain number of groups.

chunk(int $size)

Chunk the collection into chunks of the given size.

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

Sort through each item with a callback.

sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

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

Sort the collection using the given callback.

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

Sort the collection in descending order using the given callback.

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

Sort the collection keys.

sortKeysDesc(int $options = SORT_REGULAR)

Sort the collection keys in descending order.

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

Splice a portion of the underlying collection array.

take(int $limit)

Take the first or last {$limit} items.

takeUntil(mixed $value)

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

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.

values()

Reset the keys on the underlying array.

zip(mixed $items)

Zip the collection together with one or more arrays.

pad(int $size, mixed $value)

Pad collection to the specified length with a value.

getIterator()

Get an iterator for the items.

int
count()

Count the number of items in the collection.

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.

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

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 given key is not null.

Parameters

string|null $key

Return Value

EnumeratesValues

EnumeratesValues whereNotNull(string|null $key = null)

Filter items where the given key is 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

$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

EnumeratesValues until(mixed $value) deprecated

deprecated Use the "takeUntil" method directly.

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

This is an alias to the "takeUntil" method.

Parameters

mixed $value

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 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

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

Collection crossJoin(mixed ...$lists)

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

Parameters

mixed ...$lists

Return Value

Collection

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

Collection flatten(int $depth = INF)

Get a flattened array of the items in the collection.

Parameters

int $depth

Return Value

Collection

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

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

Collection skipUntil(mixed $value)

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

Parameters

mixed $value

Return Value

Collection

Collection skipWhile(mixed $value)

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

Parameters

mixed $value

Return Value

Collection

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 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

Collection takeUntil(mixed $value)

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

Parameters

mixed $value

Return Value

Collection

Collection takeWhile(mixed $value)

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

Parameters

mixed $value

Return Value

Collection

$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

Collection 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

Collection

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