laravel / 7 / api / 7.x / illuminate / support / enumerable.html

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

Concatenate values of a given key as a string.

Enumerable intersect(mixed $items)

Intersect the collection with the given items.

Enumerable intersectByKeys(mixed $items)

Intersect the collection with the given items by key.

bool isEmpty()

Determine if the collection is empty or not.

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

Shuffle the items in the collection.

Enumerable skip(int $count)

Skip the first {$count} items.

Enumerable slice(int $offset, int|null $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|null|int $callback = null)

Sort through each item with a callback.

Enumerable sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

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

Sort the collection using the given callback.

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

Sort the collection in descending order using the given callback.

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

Sort the collection keys.

Enumerable sortKeysDesc(int $options = SORT_REGULAR)

Sort the collection keys in descending order.

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

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

static Enumerable wrap(mixed $value)

Wrap the given value in a collection if applicable.

Parameters

mixed $value

Return Value

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

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 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 diffAssoc(mixed $items)

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

Parameters

mixed $items

Return Value

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 diffKeys(mixed $items)

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

Parameters

mixed $items

Return Value

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 duplicates(callable|null $callback = null, bool $strict = false)

Retrieve duplicate items.

Parameters

callable|null $callback
bool $strict

Return Value

Enumerable duplicatesStrict(callable|null $callback = null)

Retrieve duplicate items using strict comparison.

Parameters

callable|null $callback

Return Value

$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

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

Run a filter over each of the items.

Parameters

callable $callback

Return Value

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 whereStrict(string $key, mixed $value)

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

Parameters

string $key
mixed $value

Return Value

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 whereInStrict(string $key, mixed $values)

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

Parameters

string $key
mixed $values

Return Value

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 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 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 whereNotInStrict(string $key, mixed $values)

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

Parameters

string $key
mixed $values

Return Value

Enumerable whereInstanceOf(string $type)

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

Parameters

string $type

Return Value

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

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 keyBy(callable|string $keyBy)

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

Parameters

callable|string $keyBy

Return Value

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 intersectByKeys(mixed $items)

Intersect the collection with the given items by key.

Parameters

mixed $items

Return Value

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

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

Run a map over each nested chunk of items.

Parameters

callable $callback

Return Value

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

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

Parameters

callable $callback

Return Value

Enumerable mapInto(string $class)

Map the values into a new class.

Parameters

string $class

Return Value

Enumerable merge(mixed $items)

Merge the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable mergeRecursive(mixed $items)

Recursively merge the collection with the given items.

Parameters

mixed $items

Return Value

Enumerable combine(mixed $values)

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

Parameters

mixed $values

Return Value

Enumerable union(mixed $items)

Union the collection with the given items.

Parameters

mixed $items

Return Value

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 only(mixed $keys)

Get the items with the specified keys.

Parameters

mixed $keys

Return Value

Enumerable forPage(int $page, int $perPage)

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

Parameters

int $page
int $perPage

Return Value

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 concat(iterable $source)

Push all of the given items onto the collection.

Parameters

iterable $source

Return Value

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

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 replaceRecursive(mixed $items)

Recursively replace the collection items with the given items.

Parameters

mixed $items

Return Value

Enumerable reverse()

Reverse items order.

Return Value

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

Shuffle the items in the collection.

Parameters

int|null $seed

Return Value

Enumerable skip(int $count)

Skip the first {$count} items.

Parameters

int $count

Return Value

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

Get a slice of items from the enumerable.

Parameters

int $offset
int|null $length

Return Value

Enumerable split(int $numberOfGroups)

Split a collection into a certain number of groups.

Parameters

int $numberOfGroups

Return Value

Enumerable chunk(int $size)

Chunk the collection into chunks of the given size.

Parameters

int $size

Return Value

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

Sort through each item with a callback.

Parameters

callable|null|int $callback

Return Value

Enumerable sortDesc(int $options = SORT_REGULAR)

Sort items in descending order.

Parameters

int $options

Return Value

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 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 sortKeys(int $options = SORT_REGULAR, bool $descending = false)

Sort the collection keys.

Parameters

int $options
bool $descending

Return Value

Enumerable sortKeysDesc(int $options = SORT_REGULAR)

Sort the collection keys in descending order.

Parameters

int $options

Return Value

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

$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 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 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 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 values()

Reset the keys on the underlying array.

Return Value

Enumerable pad(int $size, mixed $value)

Pad collection to the specified length with a value.

Parameters

int $size
mixed $value

Return Value

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

Collection collect()

Collect the values into a collection.

Return Value

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

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