class LazyCollection implements 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 $sortBy from  EnumeratesValues
HigherOrderCollectionProxy read-only $sortByDesc from  EnumeratesValues
HigherOrderCollectionProxy read-only $sum from  EnumeratesValues
HigherOrderCollectionProxy read-only $unique from  EnumeratesValues
static protected array $macros

The registered string macros.

from  Macroable
callable|LazyCollection $source

The source from which to generate items.

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

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.

countBy(callable|null $callback = null)

Count the number of items in the collection using a given truth test.

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.

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 $source = null)

Create a new lazy collection instance.

static LazyCollection
empty()

Create a new instance with no items.

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

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

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

Create an enumerable with the given range.

array
all()

Get all items in the enumerable.

eager()

Eager load all items into a new lazy collection backed by an array.

remember()

Cache values as they're enumerated.

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

crossJoin(array ...$arrays)

Cross join the given iterables, returning all possible permutations.

diff(mixed $items)

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

diffUsing(mixed $items, callable $callback)

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

diffAssoc(mixed $items)

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

diffAssocUsing(mixed $items, callable $callback)

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

diffKeys(mixed $items)

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

diffKeysUsing(mixed $items, callable $callback)

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

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

Retrieve duplicate items.

duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items using strict comparison.

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 enumerable passing the given truth test.

flatten(int $depth = INF)

Get a flattened list of the items in the collection.

flip()

Flip the items in the collection.

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

Get an item 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 $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 items 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.

concat(iterable $source)

Push all of the given items onto the collection.

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.

shuffle(int $seed = null)

Shuffle the items in the collection.

skip(int $count)

Skip the first {$count} items.

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

Get a slice of items from the enumerable.

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 $callback = null)

Sort through each item with a callback.

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.

take(int $limit)

Take the first or last {$limit} items.

tapEach(callable $callback)

Pass each item in the collection to the given callback, lazily.

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 the values iterator.

int
count()

Count the number of items in the collection.

makeIterator(mixed $source)

Make an iterator from the given source.

array
explodePluckParameters(string|array $value, string|array|null $key)

Explode the "value" and "key" arguments passed to "pluck".

passthru(string $method, array $params)

Pass this lazy collection through a method on the collection class.

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

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

EnumeratesValues countBy(callable|null $callback = null)

Count the number of items in the collection using a given truth test.

Parameters

callable|null $callback

Return Value

EnumeratesValues

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

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 $source = null)

Create a new lazy collection instance.

Parameters

mixed $source

Return Value

void

static LazyCollection empty()

Create a new instance with no items.

Return Value

LazyCollection

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

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

Parameters

int $number
callable $callback

Return Value

Enumerable

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

Create an enumerable with the given range.

Parameters

int $from
int $to

Return Value

LazyCollection

array all()

Get all items in the enumerable.

Return Value

array

LazyCollection eager()

Eager load all items into a new lazy collection backed by an array.

Return Value

LazyCollection

LazyCollection remember()

Cache values as they're enumerated.

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

Parameters

mixed $key
mixed $operator
mixed $value

Return Value

bool

LazyCollection crossJoin(array ...$arrays)

Cross join the given iterables, returning all possible permutations.

Parameters

array ...$arrays

Return Value

LazyCollection

Enumerable diff(mixed $items)

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

Parameters

mixed $items

Return Value

Enumerable

Enumerable diffUsing(mixed $items, callable $callback)

Get the items 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 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 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 whose keys are not present in the given items.

Parameters

mixed $items

Return Value

Enumerable

Enumerable diffKeysUsing(mixed $items, callable $callback)

Get the items 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.

Parameters

callable|null $callback
bool $strict

Return Value

Enumerable

Enumerable duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items using strict comparison.

Parameters

callable|null $callback

Return Value

Enumerable

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 enumerable passing the given truth test.

Parameters

callable $callback
mixed $default

Return Value

mixed

LazyCollection flatten(int $depth = INF)

Get a flattened list of the items in the collection.

Parameters

int $depth

Return Value

LazyCollection

Enumerable flip()

Flip the items in the collection.

Return Value

Enumerable

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

Get an item 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 $glue = null)

Concatenate values of a given key as a string.

Parameters

string $value
string $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 items 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

Enumerable concat(iterable $source)

Push all of the given items onto the collection.

Parameters

iterable $source

Return Value

Enumerable

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

Enumerable shuffle(int $seed = null)

Shuffle the items in the collection.

Parameters

int $seed

Return Value

Enumerable

Enumerable skip(int $count)

Skip the first {$count} items.

Parameters

int $count

Return Value

Enumerable

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

Get a slice of items from the enumerable.

Parameters

int $offset
int $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 $callback = null)

Sort through each item with a callback.

Parameters

callable $callback

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

Enumerable take(int $limit)

Take the first or last {$limit} items.

Parameters

int $limit

Return Value

Enumerable

LazyCollection tapEach(callable $callback)

Pass each item in the collection to the given callback, lazily.

Parameters

callable $callback

Return Value

LazyCollection

Enumerable values()

Reset the keys on the underlying array.

Return Value

Enumerable

LazyCollection zip(mixed $items)

Zip the collection together with one or more arrays.

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

Parameters

mixed $items

Return Value

LazyCollection

Enumerable pad(int $size, mixed $value)

Pad collection to the specified length with a value.

Parameters

int $size
mixed $value

Return Value

Enumerable

Traversable getIterator()

Get the values iterator.

Return Value

Traversable

int count()

Count the number of items in the collection.

Return Value

int

protected Traversable makeIterator(mixed $source)

Make an iterator from the given source.

Parameters

mixed $source

Return Value

Traversable

protected array explodePluckParameters(string|array $value, string|array|null $key)

Explode the "value" and "key" arguments passed to "pluck".

Parameters

string|array $value
string|array|null $key

Return Value

array

protected LazyCollection passthru(string $method, array $params)

Pass this lazy collection through a method on the collection class.

Parameters

string $method
array $params

Return Value

LazyCollection

Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.