Collection
class Collection implements ArrayAccess, Arrayable, Countable, IteratorAggregate, Jsonable, JsonSerializable
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.
Create a new collection by invoking the callback a given number 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.
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.
Get all items except for those with the specified keys.
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 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 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.
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.
Get the collection of items as a plain array.
Convert the object into something JSON serializable.
Get the collection of items as JSON.
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
in
Macroable at line 24
static void
macro(string $name, callable $macro)
Register a custom macro.
in
Macroable at line 35
static bool
hasMacro(string $name)
Checks if macro is registered.
in
Macroable at line 49
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 71
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
at line 44
void
__construct(mixed $items = [])
Create a new collection.
at line 55
static Collection
make(mixed $items = [])
Create a new collection instance if the value isn't one already.
at line 67
static Collection
times(int $number, callable $callback = null)
Create a new collection by invoking the callback a given number of times.
at line 85
array
all()
Get all of the items in the collection.
at line 96
mixed
avg(callable|string|null $callback = null)
Get the average value of a given key.
at line 109
mixed
average(callable|string|null $callback = null)
Alias for the "avg" method.
at line 120
mixed
median(null $key = null)
Get the median of a given key.
at line 148
array|null
mode(mixed $key = null)
Get the mode of a given key.
at line 178
Collection
collapse()
Collapse the collection of items into a single array.
at line 191
bool
contains(mixed $key, mixed $operator = null, mixed $value = null)
Determine if an item exists in the collection.
at line 217
bool
containsStrict(mixed $key, mixed $value = null)
Determine if an item exists in the collection using strict comparison.
at line 238
Collection
crossJoin(mixed ...$lists)
Cross join with the given lists, returning all possible permutations.
at line 251
Collection
diff(mixed $items)
Get the items in the collection that are not present in the given items.
at line 262
Collection
diffAssoc(mixed $items)
Get the items in the collection whose keys and values are not present in the given items.
at line 273
Collection
diffKeys(mixed $items)
Get the items in the collection whose keys are not present in the given items.
at line 284
$this
each(callable $callback)
Execute a callback over each item.
at line 301
Collection
eachSpread(callable $callback)
Execute a callback over each nested chunk of items.
at line 316
bool
every(string|callable $key, mixed $operator = null, mixed $value = null)
Determine if all items in the collection pass the given test.
at line 345
Collection
except(mixed $keys)
Get all items except for those with the specified keys.
at line 358
Collection
filter(callable $callback = null)
Run a filter over each of the items.
at line 375
mixed
when(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is truthy.
at line 394
mixed
unless(bool $value, callable $callback, callable $default = null)
Apply the callback if the value is falsy.
at line 407
Collection
where(string $key, mixed $operator, mixed $value = null)
Filter items by the given key value pair.
at line 426
protected Closure
operatorForWhere(string $key, string $operator, mixed $value)
Get an operator checker callback.
at line 454
Collection
whereStrict(string $key, mixed $value)
Filter items by the given key value pair using strict comparison.
at line 467
Collection
whereIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
at line 483
Collection
whereInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
at line 496
Collection
whereNotIn(string $key, mixed $values, bool $strict = false)
Filter items by the given key value pair.
at line 512
Collection
whereNotInStrict(string $key, mixed $values)
Filter items by the given key value pair using strict comparison.
at line 524
mixed
first(callable $callback = null, mixed $default = null)
Get the first item from the collection.
at line 535
Collection
flatten(int $depth = INF)
Get a flattened array of the items in the collection.
at line 545
Collection
flip()
Flip the items in the collection.
at line 556
$this
forget(string|array $keys)
Remove an item from the collection by key.
at line 572
mixed
get(mixed $key, mixed $default = null)
Get an item from the collection by key.
at line 588
Collection
groupBy(callable|string $groupBy, bool $preserveKeys = false)
Group an associative array by a field or using a callback.
at line 621
Collection
keyBy(callable|string $keyBy)
Key an associative array by a field or using a callback.
at line 646
bool
has(mixed $key)
Determine if an item exists in the collection by key.
at line 658
string
implode(string $value, string $glue = null)
Concatenate values of a given key as a string.
at line 675
Collection
intersect(mixed $items)
Intersect the collection with the given items.
at line 686
Collection
intersectKey(mixed $items)
Intersect the collection with the given items by key.
at line 696
bool
isEmpty()
Determine if the collection is empty or not.
at line 706
bool
isNotEmpty()
Determine if the collection is not empty.
at line 717
protected bool
useAsCallable(mixed $value)
Determine if the given value is callable, but not a string.
at line 727
Collection
keys()
Get the keys of the collection items.
at line 739
mixed
last(callable $callback = null, mixed $default = null)
Get the last item from the collection.
at line 751
Collection
pluck(string|array $value, string|null $key = null)
Get the values of a given key.
at line 762
Collection
map(callable $callback)
Run a map over each of the items.
at line 777
Collection
mapSpread(callable $callback)
Run a map over each nested chunk of items.
at line 792
Collection
mapToGroups(callable $callback)
Run a grouping map over the items.
The callback should return an associative array with a single key/value pair.
at line 811
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.
at line 832
Collection
flatMap(callable $callback)
Map a collection and flatten the result by a single level.
at line 843
mixed
max(callable|string|null $callback = null)
Get the max value of a given key.
at line 862
Collection
merge(mixed $items)
Merge the collection with the given items.
at line 873
Collection
combine(mixed $values)
Create a collection by using this collection for keys and another for its values.
at line 884
Collection
union(mixed $items)
Union the collection with the given items.
at line 895
mixed
min(callable|string|null $callback = null)
Get the min value of a given key.
at line 915
Collection
nth(int $step, int $offset = 0)
Create a new collection consisting of every n-th element.
at line 938
Collection
only(mixed $keys)
Get the items with the specified keys.
at line 956
Collection
forPage(int $page, int $perPage)
"Paginate" the collection by slicing it into a smaller collection.
at line 967
Collection
partition(callable|string $callback)
Partition the collection into two arrays using the given callback or key.
at line 986
mixed
pipe(callable $callback)
Pass the collection to the given callback and return the result.
at line 996
mixed
pop()
Get and remove the last item from the collection.
at line 1008
$this
prepend(mixed $value, mixed $key = null)
Push an item onto the beginning of the collection.
at line 1021
$this
push(mixed $value)
Push an item onto the end of the collection.
at line 1034
Collection
concat(Traversable $source)
Push all of the given items onto the collection.
at line 1052
mixed
pull(mixed $key, mixed $default = null)
Get and remove an item from the collection.
at line 1064
$this
put(mixed $key, mixed $value)
Put an item in the collection by key.
at line 1079
mixed
random(int|null $number = null)
Get one or a specified number of items randomly from the collection.
at line 1095
mixed
reduce(callable $callback, mixed $initial = null)
Reduce the collection to a single value.
at line 1106
Collection
reject(callable|mixed $callback)
Create a collection of all elements that do not pass a given truth test.
at line 1124
Collection
reverse()
Reverse items order.
at line 1136
mixed
search(mixed $value, bool $strict = false)
Search the collection for a given value and return the corresponding key if successful.
at line 1156
mixed
shift()
Get and remove the first item from the collection.
at line 1167
Collection
shuffle(int $seed = null)
Shuffle the items in the collection.
at line 1191
Collection
slice(int $offset, int $length = null)
Slice the underlying collection array.
at line 1202
Collection
split(int $numberOfGroups)
Split a collection into a certain number of groups.
at line 1219
Collection
chunk(int $size)
Chunk the underlying collection array.
at line 1240
Collection
sort(callable $callback = null)
Sort through each item with a callback.
at line 1259
Collection
sortBy(callable|string $callback, int $options = SORT_REGULAR, bool $descending = false)
Sort the collection using the given callback.
at line 1292
Collection
sortByDesc(callable|string $callback, int $options = SORT_REGULAR)
Sort the collection in descending order using the given callback.
at line 1305
Collection
splice(int $offset, int|null $length = null, mixed $replacement = [])
Splice a portion of the underlying collection array.
at line 1320
mixed
sum(callable|string|null $callback = null)
Get the sum of the given values.
at line 1339
Collection
take(int $limit)
Take the first or last {$limit} items.
at line 1354
$this
tap(callable $callback)
Pass the collection to the given callback and then return it.
at line 1367
$this
transform(callable $callback)
Transform each item in the collection using a callback.
at line 1381
Collection
unique(string|callable|null $key = null, bool $strict = false)
Return only unique items from the collection array.
at line 1406
Collection
uniqueStrict(string|callable|null $key = null)
Return only unique items from the collection array using strict comparison.
at line 1416
Collection
values()
Reset the keys on the underlying array.
at line 1427
protected callable
valueRetriever(string $value)
Get a value retrieving callback.
at line 1447
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]]
at line 1465
array
toArray()
Get the collection of items as a plain array.
at line 1477
array
jsonSerialize()
Convert the object into something JSON serializable.
at line 1498
string
toJson(int $options = 0)
Get the collection of items as JSON.
at line 1508
ArrayIterator
getIterator()
Get an iterator for the items.
at line 1519
CachingIterator
getCachingIterator(int $flags = CachingIterator::CALL_TOSTRING)
Get a CachingIterator instance.
at line 1529
int
count()
Count the number of items in the collection.
at line 1539
Collection
toBase()
Get a base Support collection instance from this collection.
at line 1550
bool
offsetExists(mixed $key)
Determine if an item exists at an offset.
at line 1561
mixed
offsetGet(mixed $key)
Get an item at a given offset.
at line 1573
void
offsetSet(mixed $key, mixed $value)
Set the item at a given offset.
at line 1588
void
offsetUnset(string $key)
Unset the item at a given offset.
at line 1598
string
__toString()
Convert the collection to its string representation.
at line 1609
protected array
getArrayableItems(mixed $items)
Results array of items from Collection or Arrayable.
at line 1634
static void
proxy(string $method)
Add a method to the list of proxied methods.
at line 1647
mixed
__get(string $key)
Dynamically access collection proxies.