Collection
class Collection implements ArrayAccess, Arrayable, Countable, IteratorAggregate, Jsonable, JsonSerializable (View source)
Traits
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
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Create a new collection.
Create a new collection instance if the value isn't one already.
Wrap the given value in a collection if applicable.
Create a new collection by invoking the callback a given amount of times.
Get all of the items in the collection.
Get the average value of a given key.
Alias for the "avg" method.
Get the median of a given key.
Get the mode of a given key.
Collapse the collection of items into a single array.
Determine if an item exists in the collection.
Determine if an item exists in the collection using strict comparison.
Cross join with the given lists, returning all possible permutations.
Dump the collection and end the script.
Dump the collection.
Get the items in the collection that are not present in the given items.
Get the items in the collection whose keys and values are not present in the given items.
Get the items in the collection whose keys are not present in the given items.
Execute a callback over each item.
Execute a callback over each nested chunk of items.
Determine if all items in the collection pass the given test.
Run a filter over each of the items.
Apply the callback if the value is truthy.
Apply the callback if the value is falsy.
Filter items by the given key value pair.
Get an operator checker callback.
Filter items by the given key value pair using strict comparison.
Filter items by the given key value pair.
Filter items by the given key value pair using strict comparison.
Filter items by the given key value pair.
Filter items by the given key value pair using strict comparison.
Get the first item from the collection.
Get the first item by the given key value pair.
Get a flattened array of the items in the collection.
Flip the items in the collection.
Remove an item from the collection by key.
Get an item from the collection by key.
Group an associative array by a field or using a callback.
Key an associative array by a field or using a callback.
Determine if an item exists in the collection by key.
Concatenate values of a given key as a string.
Intersect the collection with the given items.
Intersect the collection with the given items by key.
Determine if the collection is empty or not.
Determine if the collection is not empty.
Determine if the given value is callable, but not a string.
Get the keys of the collection items.
Get the last item from the collection.
Get the values of a given key.
Run a map over each of the items.
Run a map over each nested chunk of items.
Run a dictionary map over the items.
Run a grouping map over the items.
Run an associative map over each of the items.
Map a collection and flatten the result by a single level.
Map the values into a new class.
Get the max value of a given key.
Merge the collection with the given items.
Create a collection by using this collection for keys and another for its values.
Union the collection with the given items.
Get the min value of a given key.
Create a new collection consisting of every n-th element.
Get the items with the specified keys.
"Paginate" the collection by slicing it into a smaller collection.
Partition the collection into two arrays using the given callback or key.
Pass the collection to the given callback and return the result.
Get and remove the last item from the collection.
Push an item onto the beginning of the collection.
Push an item onto the end of the collection.
Get and remove an item from the collection.
Put an item in the collection by key.
Get one or a specified number of items randomly from the collection.
Reduce the collection to a single value.
Create a collection of all elements that do not pass a given truth test.
Reverse items order.
Search the collection for a given value and return the corresponding key if successful.
Get and remove the first item from the collection.
Shuffle the items in the collection.
Slice the underlying collection array.
Split a collection into a certain number of groups.
Chunk the underlying collection array.
Sort through each item with a callback.
Sort the collection using the given callback.
Sort the collection in descending order using the given callback.
Splice a portion of the underlying collection array.
Get the sum of the given values.
Take the first or last {$limit} items.
Pass the collection to the given callback and then return it.
Transform each item in the collection using a callback.
Return only unique items from the collection array.
Return only unique items from the collection array using strict comparison.
Reset the keys on the underlying array.
Get a value retrieving callback.
Zip the collection together with one or more arrays.
Pad collection to the specified length with a value.
Get the instance as an array.
Convert the object into something JSON serializable.
Convert the object to its JSON representation.
Get an iterator for the items.
Get a CachingIterator instance.
Count the number of items in the collection.
Get a base Support collection instance from this collection.
Determine if an item exists at an offset.
Get an item at a given offset.
Set the item at a given offset.
Unset the item at a given offset.
Convert the collection to its string representation.
Results array of items from Collection or Arrayable.
Add a method to the list of proxied methods.
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
    diffAssoc(mixed $items)
        
    
    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.
        
                            $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.
        
                            mixed
    when(bool $value, callable $callback, callable $default = null)
        
    
    Apply the callback if the value is truthy.
        
                            mixed
    unless(bool $value, callable $callback, callable $default = null)
        
    
    Apply the callback if the value is falsy.
        
                            Collection
    where(string $key, mixed $operator, mixed $value = null)
        
    
    Filter items by the given key value pair.
        
                    protected        Closure
    operatorForWhere(string $key, string $operator, 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.
        
                            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 $callback)
        
    
    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.
        
                            $this
    concat(Traversable $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.
        
                            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
    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 instance as an array.
        
                            array
    jsonSerialize()
        
    
    Convert the object into something JSON serializable.
        
                            string
    toJson(int $options = 0)
        
    
    Convert the object to its JSON representation.
        
                            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.