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 |  range(int $from, int $to)  Create a collection with the given range.  |  |
| 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.  |  |
| static Enumerable |  empty()  Create a new instance with no items.  |  |
| 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.  |  |
| Enumerable |  crossJoin(mixed ...$lists)  Cross join with the given lists, returning all possible permutations.  |  |
| 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 |  whereNull(string|null $key = null)  Filter items where the value for the given key is null.  |  |
| Enumerable |  whereNotNull(string|null $key = null)  Filter items where the value for the given key is not null.  |  |
| 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 |  flatten(int $depth = INF)  Get a flattened array of the items in the collection.  |  |
| 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 |  skipUntil(mixed $value)  Skip items in the collection until the given condition is met.  |  |
| Enumerable |  skipWhile(mixed $value)  Skip items in the collection while the given condition is met.  |  |
| Enumerable |  slice(int $offset, int|null $length = null)  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 |  chunkWhile(callable $callback)  Chunk the collection into chunks with a callback.  |  |
| Enumerable |  sort(callable|null|int $callback = null)  Sort through each item with a callback.  |  |
| Enumerable |  sortDesc(int $options = SORT_REGULAR)  Sort items in descending order.  |  |
| Enumerable |  sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)  Sort the collection using the given callback.  |  |
| Enumerable |  sortByDesc(callable|string $callback, int $options = SORT_REGULAR)  Sort the collection in descending order using the given callback.  |  |
| Enumerable |  sortKeys(int $options = SORT_REGULAR, bool $descending = false)  Sort the collection keys.  |  |
| Enumerable |  sortKeysDesc(int $options = SORT_REGULAR)  Sort the collection keys in descending order.  |  |
| 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.  |  |
| Enumerable |  takeUntil(mixed $value)  Take items in the collection until the given condition is met.  |  |
| Enumerable |  takeWhile(mixed $value)  Take items in the collection while the given condition is met.  |  |
| $this |  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.  |  |
| Enumerable |  zip(mixed $items)  Zip the collection together with one or more arrays.  |  |
| 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.
string toJson(int $options = 0)
Convert the object to its JSON representation.
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 range(int $from, int $to)
Create a collection with the given range.
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.
static Enumerable empty()
Create a new instance with no items.
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.
Enumerable crossJoin(mixed ...$lists)
Cross join with the given lists, returning all possible permutations.
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 whereNull(string|null $key = null)
Filter items where the value for the given key is null.
Enumerable whereNotNull(string|null $key = null)
Filter items where the value for the given key is not null.
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 flatten(int $depth = INF)
Get a flattened array of the items in the collection.
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.
The callback should return an associative array with a single key/value pair.
Enumerable mapToGroups(callable $callback)
Run a grouping map over the items.
The callback should return an associative array with a single key/value pair.
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.
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 skipUntil(mixed $value)
Skip items in the collection until the given condition is met.
Enumerable skipWhile(mixed $value)
Skip items in the collection while the given condition is met.
Enumerable slice(int $offset, int|null $length = null)
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 chunkWhile(callable $callback)
Chunk the collection into chunks with a callback.
Enumerable sort(callable|null|int $callback = null)
Sort through each item with a callback.
Enumerable sortDesc(int $options = SORT_REGULAR)
Sort items in descending order.
Enumerable sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)
Sort the collection using the given callback.
Enumerable sortByDesc(callable|string $callback, int $options = SORT_REGULAR)
Sort the collection in descending order using the given callback.
Enumerable sortKeys(int $options = SORT_REGULAR, bool $descending = false)
Sort the collection keys.
Enumerable sortKeysDesc(int $options = SORT_REGULAR)
Sort the collection keys in descending order.
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.
Enumerable takeUntil(mixed $value)
Take items in the collection until the given condition is met.
Enumerable takeWhile(mixed $value)
Take items in the collection while the given condition is met.
$this 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.
Enumerable zip(mixed $items)
Zip the collection together with one or more arrays.
e.g. new Collection([1, 2, 3])->zip([4, 5, 6]); => [[1, 4], [2, 5], [3, 6]]
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.
    © Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
    https://laravel.com/api/8.x/Illuminate/Support/Enumerable.html