Enumerable

interface Enumerable implements Arrayable, Countable, IteratorAggregate, Jsonable, JsonSerializable (View source)

Methods

array toArray()

Get the instance as an array.

from Arrayable
string toJson(int $options = 0)

Convert the object to its JSON representation.

from Jsonable
static Enumerable make(mixed $items = [])

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

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

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

static Enumerable wrap(mixed $value)

Wrap the given value in a collection if applicable.

static array unwrap(array|Enumerable $value)

Get the underlying items from the given collection if applicable.

array all()

Get all items in the enumerable.

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

Alias for the "avg" method.

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 items into a single enumerable.

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.

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

Get the average value of a given key.

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

Determine if an item exists in the enumerable.

void dd(mixed ...$args)

Dump the collection and end the script.

$this dump()

Dump the collection.

Enumerable diff(mixed $items)

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

Enumerable diffUsing(mixed $items, callable $callback)

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

Enumerable diffAssoc(mixed $items)

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

Enumerable diffAssocUsing(mixed $items, callable $callback)

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

Enumerable diffKeys(mixed $items)

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

Enumerable diffKeysUsing(mixed $items, callable $callback)

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

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

Retrieve duplicate items.

Enumerable duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items using strict comparison.

$this each(callable $callback)

Execute a callback over each item.

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

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.

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

Apply the callback if the value is truthy.

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

Apply the callback if the collection is empty.

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

Apply the callback if the collection is not empty.

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

Apply the callback if the value is falsy.

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

Apply the callback unless the collection is empty.

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

Apply the callback unless the collection is not empty.

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

Filter items by the given key value pair.

Enumerable whereStrict(string $key, mixed $value)

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

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

Filter items by the given key value pair.

Enumerable whereInStrict(string $key, mixed $values)

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

Enumerable whereBetween(string $key, array $values)

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

Enumerable whereNotBetween(string $key, array $values)

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

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

Filter items by the given key value pair.

Enumerable whereNotInStrict(string $key, mixed $values)

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

Enumerable whereInstanceOf(string $type)

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

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

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

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

Get the first item by the given key value pair.

Enumerable flip()

Flip the values with their keys.

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

bool isNotEmpty()

Determine if the collection is not empty.

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 map(callable $callback)

Run a map over each of the items.

Enumerable mapSpread(callable $callback)

Run a map over each nested chunk of items.

Enumerable mapToDictionary(callable $callback)

Run a dictionary map over the items.

Enumerable mapToGroups(callable $callback)

Run a grouping map over the items.

Enumerable mapWithKeys(callable $callback)

Run an associative map over each of the items.

Enumerable flatMap(callable $callback)

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

Enumerable mapInto(string $class)

Map the values into a new class.

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.

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.

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.

Enumerable forPage(int $page, int $perPage)

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

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

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

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

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.

Enumerable shuffle(int $seed = null)

Shuffle the items in the collection.

Enumerable skip(int $count)

Skip the first {$count} items.

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

Get a slice of items from the enumerable.

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

Sort through each item with a callback.

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.

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

Get the sum of the given values.

Enumerable take(int $limit)

Take the first or last {$limit} items.

$this tap(callable $callback)

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

mixed pipe(callable $callback)

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

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

Get the values of a given key.

Enumerable reject(callable|mixed $callback = true)

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

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

Return only unique items from the collection array.

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

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

Enumerable values()

Reset the keys on the underlying array.

Enumerable pad(int $size, mixed $value)

Pad collection to the specified length with a value.

Enumerable countBy(callable|null $callback = null)

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

Collection collect()

Collect the values into a collection.

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.

Details

array toArray()

Get the instance as an array.

Return Value

array

string toJson(int $options = 0)

Convert the object to its JSON representation.

Parameters

int $options

Return Value

string

static Enumerable make(mixed $items = [])

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

Parameters

mixed $items

Return Value

Enumerable

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 Enumerable wrap(mixed $value)

Wrap the given value in a collection if applicable.

Parameters

mixed $value

Return Value

Enumerable

static array unwrap(array|Enumerable $value)

Get the underlying items from the given collection if applicable.

Parameters

array|Enumerable $value

Return Value

array

array all()

Get all items in the enumerable.

Return Value

array

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

Alias for the "avg" method.

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 items into a single enumerable.

Return Value

Enumerable

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

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

Get the average value of a given key.

Parameters

callable|string|null $callback

Return Value

mixed

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

void dd(mixed ...$args)

Dump the collection and end the script.

Parameters

mixed ...$args

Return Value

void

$this dump()

Dump the collection.

Return Value

$this

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

$this each(callable $callback)

Execute a callback over each item.

Parameters

callable $callback

Return Value

$this

Enumerable eachSpread(callable $callback)

Execute a callback over each nested chunk of items.

Parameters

callable $callback

Return Value

Enumerable

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

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

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

Apply the callback if the value is truthy.

Parameters

bool $value
callable $callback
callable $default

Return Value

Enumerable|mixed

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

Apply the callback if the collection is empty.

Parameters

callable $callback
callable $default

Return Value

Enumerable|mixed

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

Apply the callback if the collection is not empty.

Parameters

callable $callback
callable $default

Return Value

Enumerable|mixed

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

Enumerable|mixed

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

Apply the callback unless the collection is empty.

Parameters

callable $callback
callable $default

Return Value

Enumerable|mixed

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

Apply the callback unless the collection is not empty.

Parameters

callable $callback
callable $default

Return Value

Enumerable|mixed

Enumerable 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

Enumerable

Enumerable whereStrict(string $key, mixed $value)

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

Parameters

string $key
mixed $value

Return Value

Enumerable

Enumerable 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

Enumerable

Enumerable whereInStrict(string $key, mixed $values)

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

Parameters

string $key
mixed $values

Return Value

Enumerable

Enumerable 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

Enumerable

Enumerable 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

Enumerable

Enumerable 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

Enumerable

Enumerable whereNotInStrict(string $key, mixed $values)

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

Parameters

string $key
mixed $values

Return Value

Enumerable

Enumerable whereInstanceOf(string $type)

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

Parameters

string $type

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

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

Enumerable flip()

Flip the values with their keys.

Return Value

Enumerable

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 $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 collection is empty or not.

Return Value

bool

bool isNotEmpty()

Determine if the collection is not empty.

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 map(callable $callback)

Run a map over each of the items.

Parameters

callable $callback

Return Value

Enumerable

Enumerable mapSpread(callable $callback)

Run a map over each nested chunk of 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 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

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 flatMap(callable $callback)

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

Parameters

callable $callback

Return Value

Enumerable

Enumerable mapInto(string $class)

Map the values into a new class.

Parameters

string $class

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

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

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 forPage(int $page, int $perPage)

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

Parameters

int $page
int $perPage

Return Value

Enumerable

Enumerable 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

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

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

Get the sum of the given values.

Parameters

callable|string|null $callback

Return Value

mixed

Enumerable take(int $limit)

Take the first or last {$limit} items.

Parameters

int $limit

Return Value

Enumerable

$this tap(callable $callback)

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

Parameters

callable $callback

Return Value

$this

mixed pipe(callable $callback)

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

Parameters

callable $callback

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

Enumerable

Enumerable 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

Enumerable

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

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

Parameters

string|callable|null $key

Return Value

Enumerable

Enumerable values()

Reset the keys on the underlying array.

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

Enumerable countBy(callable|null $callback = null)

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

Parameters

callable|null $callback

Return Value

Enumerable

Collection collect()

Collect the values into a collection.

Return Value

Collection

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

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