class Collection implements ArrayAccess, Arrayable, Countable, IteratorAggregate, Jsonable, JsonSerializable (View source)

Traits

Methods

static void
macro(string $name, callable $macro)

Register a custom macro.

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 = array())

Create a new collection.

static Collection
make(mixed $items = array())

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

array
all()

Get all of the items in the collection.

mixed
avg(string|null $key = null)

Get the average value of a given key.

mixed
average(string|null $key = null)

Alias for the "avg" method.

mixed|null
median(null $key = null)

Get the median of a given key.

array
mode(null $key = null)

Get the mode of a given key.

collapse()

Collapse the collection of items into a single array.

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

Determine if an item exists in the collection.

diff(mixed $items)

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

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.

every(int $step, int $offset)

Create a new collection consisting of every n-th element.

except(mixed $keys)

Get all items except for those with the specified keys.

filter(callable $callback = null)

Run a filter over each of the items.

where(string $key, mixed $value, bool $strict = true)

Filter items by the given key value pair.

whereLoose(string $key, mixed $value)

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

whereIn(string $key, array $values, bool $strict = true)

Filter items by the given key value pair.

whereInLoose(string $key, array $values)

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

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

Get the first item from the collection.

flatten(int $depth = INF)

Get a flattened array of the items in the 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.

groupBy(callable|string $groupBy, bool $preserveKeys = false)

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

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.

intersect(mixed $items)

Intersect the collection with the given items.

bool
isEmpty()

Determine if the collection is empty or not.

keys()

Get the keys of the collection items.

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

Get the last item from the collection.

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

Get the values of a given key.

lists(string $value, string|null $key = null) deprecated

Alias for the "pluck" method.

map(callable $callback)

Run a map over each of the items.

flatMap(callable $callback)

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

mixed
max(string|null $key = null)

Get the max value of a given key.

merge(mixed $items)

Merge the collection with the given items.

combine(mixed $values)

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

union(mixed $items)

Union the collection with the given items.

mixed
min(string|null $key = null)

Get the min value of a given key.

only(mixed $keys)

Get the items with the specified keys.

forPage(int $page, int $perPage)

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

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.

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 $amount = 1)

Get one or more items randomly from the collection.

mixed
reduce(callable $callback, mixed $initial = null)

Reduce the collection to a single value.

reject(callable|mixed $callback)

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

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.

shuffle(int $seed = null)

Shuffle the items in the collection.

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

Slice the underlying collection array.

chunk(int $size)

Chunk the underlying collection array.

sort(callable $callback = null)

Sort through each item with a callback.

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

Sort the collection using the given callback.

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

Sort the collection in descending order using the given callback.

splice(int $offset, int|null $length = null, mixed $replacement = array())

Splice a portion of the underlying collection array.

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

Get the sum of the given values.

take(int $limit)

Take the first or last {$limit} items.

$this
transform(callable $callback)

Transform each item in the collection using a callback.

unique(string|callable|null $key = null)

Return only unique items from the collection array.

values()

Reset the keys on the underlying array.

zip(mixed $items)

Zip the collection together with one or more arrays.

array
toArray()

Get the collection of items as a plain array.

array
jsonSerialize()

Convert the object into something JSON serializable.

string
toJson(int $options)

Get the collection of items as JSON.

getIterator()

Get an iterator for the items.

getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)

Get a CachingIterator instance.

int
count()

Count the number of items in the 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.

Details

in Macroable at line line 24
static void macro(string $name, callable $macro)

Register a custom macro.

Parameters

string $name
callable $macro

Return Value

void

in Macroable at line line 35
static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line line 49
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Macroable at line line 71
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line line 34
void __construct(mixed $items = array())

Create a new collection.

Parameters

mixed $items

Return Value

void

at line line 45
static Collection make(mixed $items = array())

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

Parameters

mixed $items

Return Value

Collection

at line line 55
array all()

Get all of the items in the collection.

Return Value

array

at line line 66
mixed avg(string|null $key = null)

Get the average value of a given key.

Parameters

string|null $key

Return Value

mixed

at line line 79
mixed average(string|null $key = null)

Alias for the "avg" method.

Parameters

string|null $key

Return Value

mixed

at line line 90
mixed|null median(null $key = null)

Get the median of a given key.

Parameters

null $key

Return Value

mixed|null

at line line 118
array mode(null $key = null)

Get the mode of a given key.

Parameters

null $key

Return Value

array

at line line 148
Collection collapse()

Collapse the collection of items into a single array.

Return Value

Collection

at line line 160
bool contains(mixed $key, mixed $value = null)

Determine if an item exists in the collection.

Parameters

mixed $key
mixed $value

Return Value

bool

at line line 181
Collection diff(mixed $items)

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

Parameters

mixed $items

Return Value

Collection

at line line 192
Collection diffKeys(mixed $items)

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

Parameters

mixed $items

Return Value

Collection

at line line 203
$this each(callable $callback)

Execute a callback over each item.

Parameters

callable $callback

Return Value

$this

at line line 221
Collection every(int $step, int $offset)

Create a new collection consisting of every n-th element.

Parameters

int $step
int $offset

Return Value

Collection

at line line 244
Collection except(mixed $keys)

Get all items except for those with the specified keys.

Parameters

mixed $keys

Return Value

Collection

at line line 257
Collection filter(callable $callback = null)

Run a filter over each of the items.

Parameters

callable $callback

Return Value

Collection

at line line 282
Collection where(string $key, mixed $value, bool $strict = true)

Filter items by the given key value pair.

Parameters

string $key
mixed $value
bool $strict

Return Value

Collection

at line line 297
Collection whereLoose(string $key, mixed $value)

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

Parameters

string $key
mixed $value

Return Value

Collection

at line line 310
Collection whereIn(string $key, array $values, bool $strict = true)

Filter items by the given key value pair.

Parameters

string $key
array $values
bool $strict

Return Value

Collection

at line line 324
Collection whereInLoose(string $key, array $values)

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

Parameters

string $key
array $values

Return Value

Collection

at line line 336
mixed first(callable $callback = null, mixed $default = null)

Get the first item from the collection.

Parameters

callable $callback
mixed $default

Return Value

mixed

at line line 347
Collection flatten(int $depth = INF)

Get a flattened array of the items in the collection.

Parameters

int $depth

Return Value

Collection

at line line 357
Collection flip()

Flip the items in the collection.

Return Value

Collection

at line line 368
$this forget(string|array $keys)

Remove an item from the collection by key.

Parameters

string|array $keys

Return Value

$this

at line line 384
mixed get(mixed $key, mixed $default = null)

Get an item from the collection by key.

Parameters

mixed $key
mixed $default

Return Value

mixed

at line line 400
Collection groupBy(callable|string $groupBy, bool $preserveKeys = false)

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

Parameters

callable|string $groupBy
bool $preserveKeys

Return Value

Collection

at line line 431
Collection keyBy(callable|string $keyBy)

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

Parameters

callable|string $keyBy

Return Value

Collection

at line line 450
bool has(mixed $key)

Determine if an item exists in the collection by key.

Parameters

mixed $key

Return Value

bool

at line line 462
string implode(string $value, string $glue = null)

Concatenate values of a given key as a string.

Parameters

string $value
string $glue

Return Value

string

at line line 479
Collection intersect(mixed $items)

Intersect the collection with the given items.

Parameters

mixed $items

Return Value

Collection

at line line 489
bool isEmpty()

Determine if the collection is empty or not.

Return Value

bool

at line line 510
Collection keys()

Get the keys of the collection items.

Return Value

Collection

at line line 522
mixed last(callable $callback = null, mixed $default = null)

Get the last item from the collection.

Parameters

callable $callback
mixed $default

Return Value

mixed

at line line 534
Collection pluck(string $value, string|null $key = null)

Get the values of a given key.

Parameters

string $value
string|null $key

Return Value

Collection

at line line 548
Collection lists(string $value, string|null $key = null) deprecated

deprecated since version 5.2. Use the "pluck" method directly.

Alias for the "pluck" method.

Parameters

string $value
string|null $key

Return Value

Collection

at line line 559
Collection map(callable $callback)

Run a map over each of the items.

Parameters

callable $callback

Return Value

Collection

at line line 574
Collection flatMap(callable $callback)

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

Parameters

callable $callback

Return Value

Collection

at line line 585
mixed max(string|null $key = null)

Get the max value of a given key.

Parameters

string|null $key

Return Value

mixed

at line line 600
Collection merge(mixed $items)

Merge the collection with the given items.

Parameters

mixed $items

Return Value

Collection

at line line 611
Collection combine(mixed $values)

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

Parameters

mixed $values

Return Value

Collection

at line line 622
Collection union(mixed $items)

Union the collection with the given items.

Parameters

mixed $items

Return Value

Collection

at line line 633
mixed min(string|null $key = null)

Get the min value of a given key.

Parameters

string|null $key

Return Value

mixed

at line line 648
Collection only(mixed $keys)

Get the items with the specified keys.

Parameters

mixed $keys

Return Value

Collection

at line line 662
Collection forPage(int $page, int $perPage)

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

Parameters

int $page
int $perPage

Return Value

Collection

at line line 673
mixed pipe(callable $callback)

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

Parameters

callable $callback

Return Value

mixed

at line line 683
mixed pop()

Get and remove the last item from the collection.

Return Value

mixed

at line line 695
$this prepend(mixed $value, mixed $key = null)

Push an item onto the beginning of the collection.

Parameters

mixed $value
mixed $key

Return Value

$this

at line line 708
$this push(mixed $value)

Push an item onto the end of the collection.

Parameters

mixed $value

Return Value

$this

at line line 722
mixed pull(mixed $key, mixed $default = null)

Get and remove an item from the collection.

Parameters

mixed $key
mixed $default

Return Value

mixed

at line line 734
$this put(mixed $key, mixed $value)

Put an item in the collection by key.

Parameters

mixed $key
mixed $value

Return Value

$this

at line line 749
mixed random(int $amount = 1)

Get one or more items randomly from the collection.

Parameters

int $amount

Return Value

mixed

Exceptions

InvalidArgumentException

at line line 771
mixed reduce(callable $callback, mixed $initial = null)

Reduce the collection to a single value.

Parameters

callable $callback
mixed $initial

Return Value

mixed

at line line 782
Collection reject(callable|mixed $callback)

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

Parameters

callable|mixed $callback

Return Value

Collection

at line line 800
Collection reverse()

Reverse items order.

Return Value

Collection

Search the collection for a given value and return the corresponding key if successful.

Parameters

mixed $value
bool $strict

Return Value

mixed

at line line 832
mixed shift()

Get and remove the first item from the collection.

Return Value

mixed

at line line 843
Collection shuffle(int $seed = null)

Shuffle the items in the collection.

Parameters

int $seed

Return Value

Collection

at line line 867
Collection slice(int $offset, int $length = null)

Slice the underlying collection array.

Parameters

int $offset
int $length

Return Value

Collection

at line line 878
Collection chunk(int $size)

Chunk the underlying collection array.

Parameters

int $size

Return Value

Collection

at line line 895
Collection sort(callable $callback = null)

Sort through each item with a callback.

Parameters

callable $callback

Return Value

Collection

at line line 918
Collection 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

Collection

at line line 951
Collection 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

Collection

at line line 964
Collection splice(int $offset, int|null $length = null, mixed $replacement = array())

Splice a portion of the underlying collection array.

Parameters

int $offset
int|null $length
mixed $replacement

Return Value

Collection

at line line 979
mixed sum(callable|string|null $callback = null)

Get the sum of the given values.

Parameters

callable|string|null $callback

Return Value

mixed

at line line 998
Collection take(int $limit)

Take the first or last {$limit} items.

Parameters

int $limit

Return Value

Collection

at line line 1013
$this transform(callable $callback)

Transform each item in the collection using a callback.

Parameters

callable $callback

Return Value

$this

at line line 1026
Collection unique(string|callable|null $key = null)

Return only unique items from the collection array.

Parameters

string|callable|null $key

Return Value

Collection

at line line 1050
Collection values()

Reset the keys on the underlying array.

Return Value

Collection

at line line 1081
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]]

Parameters

mixed $items

Return Value

Collection

at line line 1099
array toArray()

Get the collection of items as a plain array.

Return Value

array

at line line 1111
array jsonSerialize()

Convert the object into something JSON serializable.

Return Value

array

at line line 1132
string toJson(int $options)

Get the collection of items as JSON.

Parameters

int $options

Return Value

string

at line line 1142
ArrayIterator getIterator()

Get an iterator for the items.

Return Value

ArrayIterator

at line line 1153
CachingIterator getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)

Get a CachingIterator instance.

Parameters

int $flags

Return Value

CachingIterator

at line line 1163
int count()

Count the number of items in the collection.

Return Value

int

at line line 1174
bool offsetExists(mixed $key)

Determine if an item exists at an offset.

Parameters

mixed $key

Return Value

bool

at line line 1185
mixed offsetGet(mixed $key)

Get an item at a given offset.

Parameters

mixed $key

Return Value

mixed

at line line 1197
void offsetSet(mixed $key, mixed $value)

Set the item at a given offset.

Parameters

mixed $key
mixed $value

Return Value

void

at line line 1212
void offsetUnset(string $key)

Unset the item at a given offset.

Parameters

string $key

Return Value

void

at line line 1222
string __toString()

Convert the collection to its string representation.

Return Value

string