Collection
class Collection implements ArrayAccess, Arrayable, Countable, IteratorAggregate, Jsonable, JsonSerializable (View source)
Traits
Macroable |
Properties
static protected array | $macros | The registered string macros. | from Macroable |
protected array | $items | The items contained in the collection. | |
static protected array | $proxies | The methods that can be proxied. |
Methods
static void | macro(string $name, object|callable $macro) Register a custom macro. | from Macroable |
static void | mixin(object $mixin) Mix another object into the class. | from Macroable |
static bool | hasMacro(string $name) Checks if macro is registered. | from Macroable |
static mixed | __callStatic(string $method, array $parameters) Dynamically handle calls to the class. | from Macroable |
mixed | __call(string $method, array $parameters) Dynamically handle calls to the class. | from Macroable |
void | __construct(mixed $items = []) Create a new collection. | |
static Collection | make(mixed $items = []) Create a new collection instance if the value isn't one already. | |
static Collection | wrap(mixed $value) Wrap the given value in a collection if applicable. | |
static array | unwrap(array|Collection $value) Get the underlying items from the given collection if applicable. | |
static Collection | times(int $number, callable $callback = null) Create a new collection by invoking the callback a given amount of times. | |
array | all() Get all of the items in the collection. | |
mixed | avg(callable|string|null $callback = null) Get the average value of a given key. | |
mixed | average(callable|string|null $callback = null) Alias for the "avg" method. | |
mixed | median(null $key = null) Get the median of a given key. | |
array|null | mode(mixed $key = null) Get the mode of a given key. | |
Collection | collapse() Collapse the collection of items into a single array. | |
bool | contains(mixed $key, mixed $operator = null, mixed $value = null) Determine if an item exists in the collection. | |
bool | containsStrict(mixed $key, mixed $value = null) Determine if an item exists in the collection using strict comparison. | |
Collection | crossJoin(mixed ...$lists) Cross join with the given lists, returning all possible permutations. | |
void | dd(...$args) Dump the collection and end the script. | |
$this | dump() Dump the collection. | |
Collection | diff(mixed $items) Get the items in the collection that are not present in the given items. | |
Collection | diffUsing(mixed $items, callable $callback) Get the items in the collection that are not present in the given items. | |
Collection | diffAssoc(mixed $items) Get the items in the collection whose keys and values are not present in the given items. | |
Collection | diffAssocUsing(mixed $items, callable $callback) Get the items in the collection whose keys and values are not present in the given items. | |
Collection | diffKeys(mixed $items) Get the items in the collection whose keys are not present in the given items. | |
Collection | diffKeysUsing(mixed $items, callable $callback) Get the items in the collection whose keys are not present in the given items. | |
$this | each(callable $callback) Execute a callback over each item. | |
Collection | 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 in the collection pass the given test. | |
Collection | except(Collection|mixed $keys) Get all items except for those with the specified keys. | |
Collection | filter(callable $callback = null) Run a filter over each of the items. | |
Collection|mixed | when(bool $value, callable $callback, callable $default = null) Apply the callback if the value is truthy. | |
Collection|mixed | unless(bool $value, callable $callback, callable $default = null) Apply the callback if the value is falsy. | |
Collection | where(string $key, mixed $operator = null, mixed $value = null) Filter items by the given key value pair. | |
Closure | operatorForWhere(string $key, string $operator = null, mixed $value = null) Get an operator checker callback. | |
Collection | whereStrict(string $key, mixed $value) Filter items by the given key value pair using strict comparison. | |
Collection | whereIn(string $key, mixed $values, bool $strict = false) Filter items by the given key value pair. | |
Collection | whereInStrict(string $key, mixed $values) Filter items by the given key value pair using strict comparison. | |
Collection | whereNotIn(string $key, mixed $values, bool $strict = false) Filter items by the given key value pair. | |
Collection | whereNotInStrict(string $key, mixed $values) Filter items by the given key value pair using strict comparison. | |
Collection | 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 collection. | |
Collection | firstWhere(string $key, mixed $operator, mixed $value = null) Get the first item by the given key value pair. | |
Collection | flatten(int $depth = INF) Get a flattened array of the items in the collection. | |
Collection | flip() Flip the items in the collection. | |
$this | forget(string|array $keys) Remove an item from the collection by key. | |
mixed | get(mixed $key, mixed $default = null) Get an item from the collection by key. | |
Collection | groupBy(callable|string $groupBy, bool $preserveKeys = false) Group an associative array by a field or using a callback. | |
Collection | 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. | |
Collection | intersect(mixed $items) Intersect the collection with the given items. | |
Collection | 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. | |
bool | useAsCallable(mixed $value) Determine if the given value is callable, but not a string. | |
Collection | keys() Get the keys of the collection items. | |
mixed | last(callable $callback = null, mixed $default = null) Get the last item from the collection. | |
Collection | pluck(string|array $value, string|null $key = null) Get the values of a given key. | |
Collection | map(callable $callback) Run a map over each of the items. | |
Collection | mapSpread(callable $callback) Run a map over each nested chunk of items. | |
Collection | mapToDictionary(callable $callback) Run a dictionary map over the items. | |
Collection | mapToGroups(callable $callback) Run a grouping map over the items. | |
Collection | mapWithKeys(callable $callback) Run an associative map over each of the items. | |
Collection | flatMap(callable $callback) Map a collection and flatten the result by a single level. | |
Collection | mapInto(string $class) Map the values into a new class. | |
mixed | max(callable|string|null $callback = null) Get the max value of a given key. | |
Collection | merge(mixed $items) Merge the collection with the given items. | |
Collection | combine(mixed $values) Create a collection by using this collection for keys and another for its values. | |
Collection | 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. | |
Collection | nth(int $step, int $offset = 0) Create a new collection consisting of every n-th element. | |
Collection | only(mixed $keys) Get the items with the specified keys. | |
Collection | forPage(int $page, int $perPage) "Paginate" the collection by slicing it into a smaller collection. | |
Collection | partition(callable|string $key, mixed $operator = null, mixed $value = null) Partition the collection into two arrays using the given callback or key. | |
mixed | pipe(callable $callback) Pass the collection to the given callback and return the result. | |
mixed | pop() Get and remove the last item from the collection. | |
$this | prepend(mixed $value, mixed $key = null) Push an item onto the beginning of the collection. | |
$this | push(mixed $value) Push an item onto the end of the collection. | |
Collection | concat(Traversable|array $source) Push all of the given items onto the collection. | |
mixed | pull(mixed $key, mixed $default = null) Get and remove an item from the collection. | |
$this | put(mixed $key, mixed $value) Put an item in the collection by key. | |
Collection|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. | |
Collection | reject(callable|mixed $callback) Create a collection of all elements that do not pass a given truth test. | |
Collection | reverse() Reverse items order. | |
mixed | search(mixed $value, bool $strict = false) Search the collection for a given value and return the corresponding key if successful. | |
mixed | shift() Get and remove the first item from the collection. | |
Collection | shuffle(int $seed = null) Shuffle the items in the collection. | |
Collection | slice(int $offset, int $length = null) Slice the underlying collection array. | |
Collection | split(int $numberOfGroups) Split a collection into a certain number of groups. | |
Collection | chunk(int $size) Chunk the underlying collection array. | |
Collection | sort(callable $callback = null) Sort through each item with a callback. | |
Collection | sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false) Sort the collection using the given callback. | |
Collection | sortByDesc(callable|string $callback, int $options = SORT_REGULAR) Sort the collection in descending order using the given callback. | |
Collection | sortKeys(int $options = SORT_REGULAR, bool $descending = false) Sort the collection keys. | |
Collection | sortKeysDesc(int $options = SORT_REGULAR) Sort the collection keys in descending order. | |
Collection | splice(int $offset, int|null $length = null, mixed $replacement = []) Splice a portion of the underlying collection array. | |
mixed | sum(callable|string|null $callback = null) Get the sum of the given values. | |
Collection | 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. | |
$this | transform(callable $callback) Transform each item in the collection using a callback. | |
Collection | unique(string|callable|null $key = null, bool $strict = false) Return only unique items from the collection array. | |
Collection | uniqueStrict(string|callable|null $key = null) Return only unique items from the collection array using strict comparison. | |
Collection | values() Reset the keys on the underlying array. | |
callable | valueRetriever(string $value) Get a value retrieving callback. | |
Collection | zip(mixed $items) Zip the collection together with one or more arrays. | |
Collection | pad(int $size, mixed $value) Pad collection to the specified length with a value. | |
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. | |
ArrayIterator | getIterator() Get an iterator for the items. | |
CachingIterator | getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING) Get a CachingIterator instance. | |
int | count() Count the number of items in the collection. | |
Collection | toBase() Get a base Support collection instance from this collection. | |
bool | offsetExists(mixed $key) Determine if an item exists at an offset. | |
mixed | offsetGet(mixed $key) Get an item at a given offset. | |
void | offsetSet(mixed $key, mixed $value) Set the item at a given offset. | |
void | offsetUnset(string $key) Unset the item at a given offset. | |
string | __toString() Convert the collection to its string representation. | |
array | getArrayableItems(mixed $items) Results array of items from Collection or Arrayable. | |
static void | proxy(string $method) Add a method to the list of proxied methods. | |
mixed | __get(string $key) Dynamically access collection proxies. |
Details
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin)
Mix another object into the class.
static bool hasMacro(string $name)
Checks if macro is registered.
static mixed __callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed __call(string $method, array $parameters)
Dynamically handle calls to the class.
void __construct(mixed $items = [])
Create a new collection.
static Collection make(mixed $items = [])
Create a new collection instance if the value isn't one already.
static Collection wrap(mixed $value)
Wrap the given value in a collection if applicable.
static array unwrap(array|Collection $value)
Get the underlying items from the given collection if applicable.
static Collection times(int $number, callable $callback = null)
Create a new collection by invoking the callback a given amount of times.
array all()
Get all of the items in the collection.
mixed avg(callable|string|null $callback = null)
Get the average value of a given key.
mixed average(callable|string|null $callback = null)
Alias for the "avg" method.
mixed median(null $key = null)
Get the median of a given key.
array|null mode(mixed $key = null)
Get the mode of a given key.
Collection collapse()
Collapse the collection of items into a single array.
bool contains(mixed $key, mixed $operator = null, mixed $value = null)
Determine if an item exists in the collection.
bool containsStrict(mixed $key, mixed $value = null)
Determine if an item exists in the collection using strict comparison.
Collection crossJoin(mixed ...$lists)
Cross join with the given lists, returning all possible permutations.
void dd(...$args)
Dump the collection and end the script.
$this dump()
Dump the collection.
Collection diff(mixed $items)
Get the items in the collection that are not present in the given items.
Collection diffUsing(mixed $items, callable $callback)
Get the items in the collection that are not present in the given items.
Collection diffAssoc(mixed $items)
Get the items in the collection whose keys and values are not present in the given items.
Collection diffAssocUsing(mixed $items, callable $callback)
Get the items in the collection whose keys and values are not present in the given items.
Collection diffKeys(mixed $items)
Get the items in the collection whose keys are not present in the given items.
Collection diffKeysUsing(mixed $items, callable $callback)
Get the items in the collection whose keys are not present in the given items.
$this each(callable $callback)
Execute a callback over each item.
Collection 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 in the collection pass the given test.
Collection except(Collection|mixed $keys)
Get all items except for those with the specified keys.
Collection filter(callable $callback = null)
Run a filter over each of the items.
Collection|mixed when(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is truthy.
Collection|mixed unless(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is falsy.
Collection where(string $key, mixed $operator = null, mixed $value = null)
Filter items by the given key value pair.
protected Closure operatorForWhere(string $key, string $operator = null, mixed $value = null)
Get an operator checker callback.
Collection whereStrict(string $key, mixed $value)
Filter items by the given key value pair using strict comparison.
Collection whereIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
Collection whereInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
Collection whereNotIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
Collection whereNotInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
Collection 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 collection.
Collection firstWhere(string $key, mixed $operator, mixed $value = null)
Get the first item by the given key value pair.
Collection flatten(int $depth = INF)
Get a flattened array of the items in the collection.
Collection flip()
Flip the items in the collection.
$this forget(string|array $keys)
Remove an item from the collection by key.
mixed get(mixed $key, mixed $default = null)
Get an item from the collection by key.
Collection groupBy(callable|string $groupBy, bool $preserveKeys = false)
Group an associative array by a field or using a callback.
Collection 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.
Collection intersect(mixed $items)
Intersect the collection with the given items.
Collection 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.
protected bool useAsCallable(mixed $value)
Determine if the given value is callable, but not a string.
Collection keys()
Get the keys of the collection items.
mixed last(callable $callback = null, mixed $default = null)
Get the last item from the collection.
Collection pluck(string|array $value, string|null $key = null)
Get the values of a given key.
Collection map(callable $callback)
Run a map over each of the items.
Collection mapSpread(callable $callback)
Run a map over each nested chunk of items.
Collection mapToDictionary(callable $callback)
Run a dictionary map over the items.
The callback should return an associative array with a single key/value pair.
Collection mapToGroups(callable $callback)
Run a grouping map over the items.
The callback should return an associative array with a single key/value pair.
Collection 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.
Collection flatMap(callable $callback)
Map a collection and flatten the result by a single level.
Collection mapInto(string $class)
Map the values into a new class.
mixed max(callable|string|null $callback = null)
Get the max value of a given key.
Collection merge(mixed $items)
Merge the collection with the given items.
Collection combine(mixed $values)
Create a collection by using this collection for keys and another for its values.
Collection 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.
Collection nth(int $step, int $offset = 0)
Create a new collection consisting of every n-th element.
Collection only(mixed $keys)
Get the items with the specified keys.
Collection forPage(int $page, int $perPage)
"Paginate" the collection by slicing it into a smaller collection.
Collection partition(callable|string $key, mixed $operator = null, mixed $value = null)
Partition the collection into two arrays using the given callback or key.
mixed pipe(callable $callback)
Pass the collection to the given callback and return the result.
mixed pop()
Get and remove the last item from the collection.
$this prepend(mixed $value, mixed $key = null)
Push an item onto the beginning of the collection.
$this push(mixed $value)
Push an item onto the end of the collection.
Collection concat(Traversable|array $source)
Push all of the given items onto the collection.
mixed pull(mixed $key, mixed $default = null)
Get and remove an item from the collection.
$this put(mixed $key, mixed $value)
Put an item in the collection by key.
Collection|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.
Collection reject(callable|mixed $callback)
Create a collection of all elements that do not pass a given truth test.
Collection reverse()
Reverse items order.
mixed search(mixed $value, bool $strict = false)
Search the collection for a given value and return the corresponding key if successful.
mixed shift()
Get and remove the first item from the collection.
Collection shuffle(int $seed = null)
Shuffle the items in the collection.
Collection slice(int $offset, int $length = null)
Slice the underlying collection array.
Collection split(int $numberOfGroups)
Split a collection into a certain number of groups.
Collection chunk(int $size)
Chunk the underlying collection array.
Collection sort(callable $callback = null)
Sort through each item with a callback.
Collection sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)
Sort the collection using the given callback.
Collection sortByDesc(callable|string $callback, int $options = SORT_REGULAR)
Sort the collection in descending order using the given callback.
Collection sortKeys(int $options = SORT_REGULAR, bool $descending = false)
Sort the collection keys.
Collection sortKeysDesc(int $options = SORT_REGULAR)
Sort the collection keys in descending order.
Collection splice(int $offset, int|null $length = null, mixed $replacement = [])
Splice a portion of the underlying collection array.
mixed sum(callable|string|null $callback = null)
Get the sum of the given values.
Collection 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.
$this transform(callable $callback)
Transform each item in the collection using a callback.
Collection unique(string|callable|null $key = null, bool $strict = false)
Return only unique items from the collection array.
Collection uniqueStrict(string|callable|null $key = null)
Return only unique items from the collection array using strict comparison.
Collection values()
Reset the keys on the underlying array.
protected callable valueRetriever(string $value)
Get a value retrieving callback.
Collection zip(mixed $items)
Zip the collection together with one or more arrays.
e.g. new Collection([1, 2, 3])->zip([4, 5, 6]); => [[1, 4], [2, 5], [3, 6]]
Collection pad(int $size, mixed $value)
Pad collection to the specified length with a value.
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.
ArrayIterator getIterator()
Get an iterator for the items.
CachingIterator getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)
Get a CachingIterator instance.
int count()
Count the number of items in the collection.
Collection toBase()
Get a base Support collection instance from this collection.
bool offsetExists(mixed $key)
Determine if an item exists at an offset.
mixed offsetGet(mixed $key)
Get an item at a given offset.
void offsetSet(mixed $key, mixed $value)
Set the item at a given offset.
void offsetUnset(string $key)
Unset the item at a given offset.
string __toString()
Convert the collection to its string representation.
protected array getArrayableItems(mixed $items)
Results array of items from Collection or Arrayable.
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/5.7/Illuminate/Support/Collection.html