Laravel Arrays & Objects helper

Laravel is a PHP MVC framework that boosts up the development process with its friendly and simple syntax pattern, artisan, route,database migration and schema builder tools, simple and secure authentication mechanism, and much more. This is what makes Laravel the best PHP framework.
laravel also provide many useful functions and classes. Today we will discuss few of laravel helper functions and methods
These methods are given below:
1. array_add( )
The array_add
function adds a given key / value pair to an array if the given key doesn’t already exist in the array:
1 2 3 |
$array = array_add(['name' => 'Desk'], 'price', 100); // ['name' => 'Desk', 'price' => 100] |
2. array_collapse( )
The array_collapse
function collapses an array of arrays into a single array:
1 2 |
$array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]); // [1, 2, 3, 4, 5, 6, 7, 8, 9] |
3. array_divide( )
The array_divide
function returns two arrays, one containing the keys, and the other containing the values of the given array:
1 2 3 4 5 |
list($keys, $values) = array_divide(['name' => 'Desk']); // $keys: ['name'] // $values: ['Desk'] |
4. array_dot( )
The array_dot
function flattens a multi-dimensional array into a single level array that uses “dot” notation to indicate depth:
1 2 3 4 |
$array = ['products' => ['desk' => ['price' => 100]]]; $flattened = array_dot($array); // ['products.desk.price' => 100] |
5. array_except( )
The array_except
function removes the given key / value pairs from an array:
1 2 3 4 |
$array = ['name' => 'Desk', 'price' => 100]; $filtered = array_except($array, ['price']); // ['name' => 'Desk'] |
6. array_first( )
The array_first
function returns the first element of an array passing a given truth test:
1 2 3 4 5 6 7 |
$array = [100, 200, 300]; $first = array_first($array, function ($value, $key) { return $value >= 150; }); // 200 |
A default value may also be passed as the third parameter to the method. This value will be returned if no value passes the truth test:
1 |
$first = array_first($array, $callback, $default); |
7. array_flatten()
The array_flatten
function flattens a multi-dimensional array into a single level array:
1 2 3 4 5 |
$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']]; $flattened = array_flatten($array); // ['Joe', 'PHP', 'Ruby'] |
8. array_forget( )
The array_forget
function removes a given key / value pair from a deeply nested array using “dot” notation:
1 2 3 4 5 |
$array = ['products' => ['desk' => ['price' => 100]]]; array_forget($array, 'products.desk'); // ['products' => []] |
9. array_get( )
The array_get
function retrieves a value from a deeply nested array using “dot” notation:
1 2 3 4 5 |
$array = ['products' => ['desk' => ['price' => 100]]]; $price = array_get($array, 'products.desk.price'); // 100 |
The array_get
function also accepts a default value, which will be returned if the specific key is not found:
1 2 3 |
$discount = array_get($array, 'products.desk.discount', 0); // 0 |
10. array_has( )
The array_has
function checks whether a given item or items exists in an array using “dot” notation:
1 2 3 4 5 6 7 8 9 |
$array = ['product' => ['name' => 'Desk', 'price' => 100]]; $contains = array_has($array, 'product.name'); // true $contains = array_has($array, ['product.price', 'product.discount']); // false |
11. array_last( )
The array_last
function returns the last element of an array passing a given truth test:
1 2 3 4 5 6 7 |
$array = [100, 200, 300, 110]; $last = array_last($array, function ($value, $key) { return $value >= 150; }); // 300 |
A default value may be passed as the third argument to the method. This value will be returned if no value passes the truth test:
1 |
$last = array_last($array, $callback, $default); |
12. array_only( )
The array_only
function returns only the specified key / value pairs from the given array:
1 2 3 4 5 |
$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10]; $slice = array_only($array, ['name', 'price']); // ['name' => 'Desk', 'price' => 100] |
13. array_pluck( )
The array_pluck
function retrieves all of the values for a given key from an array:
1 2 3 4 5 6 7 8 |
$array = [ ['developer' => ['id' => 1, 'name' => 'Taylor']], ['developer' => ['id' => 2, 'name' => 'Abigail']], ]; $names = array_pluck($array, 'developer.name'); // ['Taylor', 'Abigail'] |
You may also specify how you wish the resulting list to be keyed:
1 2 3 |
$names = array_pluck($array, 'developer.name', 'developer.id'); // [1 => 'Taylor', 2 => 'Abigail'] |
14. array_prepend( )
The array_prepend
function will push an item onto the beginning of an array:
1 2 3 4 5 |
$array = ['one', 'two', 'three', 'four']; $array = array_prepend($array, 'zero'); // ['zero', 'one', 'two', 'three', 'four'] |
If needed, you may specify the key that should be used for the value:
1 2 3 4 5 |
$array = ['price' => 100]; $array = array_prepend($array, 'Desk', 'name'); // ['name' => 'Desk', 'price' => 100] |
15. array_pull( )
The array_pull
function returns and removes a key / value pair from an array:
1 2 3 4 5 6 7 |
$array = ['name' => 'Desk', 'price' => 100]; $name = array_pull($array, 'name'); // $name: Desk // $array: ['price' => 100] |
A default value may be passed as the third argument to the method. This value will be returned if the key doesn’t exist:
1 |
$value = array_pull($array, $key, $default); |
16. array_random( )
The array_random
function returns a random value from an array:
1 2 3 4 5 |
$array = [1, 2, 3, 4, 5]; $random = array_random($array); // 4 - (retrieved randomly) |
You may also specify the number of items to return as an optional second argument. Note that providing this argument will return an array, even if only one item is desired:
1 2 3 |
$items = array_random($array, 2); // [2, 5] - (retrieved randomly) |
17. array_set( )
The array_set
function sets a value within a deeply nested array using “dot” notation:
1 2 3 4 5 |
$array = ['products' => ['desk' => ['price' => 100]]]; array_set($array, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 200]]] |
18. array_sort( )
The array_sort
function sorts an array by its values:
1 2 3 4 5 |
$array = ['Desk', 'Table', 'Chair']; $sorted = array_sort($array); // ['Chair', 'Desk', 'Table'] |
You may also sort the array by the results of the given Closure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$array = [ ['name' => 'Desk'], ['name' => 'Table'], ['name' => 'Chair'], ]; $sorted = array_values(array_sort($array, function ($value) { return $value['name']; })); /* [ ['name' => 'Chair'], ['name' => 'Desk'], ['name' => 'Table'], ] */ |
19. array_sort_recursive()
The array_sort_recursive
function recursively sorts an array using the sort
function:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$array = [ ['Roman', 'Taylor', 'Li'], ['PHP', 'Ruby', 'JavaScript'], ]; $sorted = array_sort_recursive($array); /* [ ['Li', 'Roman', 'Taylor'], ['JavaScript', 'PHP', 'Ruby'], ] */ |
20. array_where( )
The array_where
function filters an array using the given Closure:
1 2 3 4 5 6 7 |
$array = [100, '200', 300, '400', 500]; $filtered = array_where($array, function ($value, $key) { return is_string($value); }); // [1 => 200, 3 => 400] |
21. array_wrap( )
The array_wrap
function wraps the given value in an array. If the given value is already an array it will not be changed:
1 2 3 4 5 |
$string = 'Laravel'; $array = array_wrap($string); // ['Laravel'] |
22. data_fill( )
The data_fill
function sets a missing value within a nested array or object using “dot” notation:
1 2 3 4 5 6 7 8 9 |
$data = ['products' => ['desk' => ['price' => 100]]]; data_fill($data, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 100]]] data_fill($data, 'products.desk.discount', 10); // ['products' => ['desk' => ['price' => 100, 'discount' => 10]]] |
This function also accepts asterisks as wildcards and will fill the target accordingly:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$data = [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2'], ], ]; data_fill($data, 'products.*.price', 200); /* [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2', 'price' => 200], ], ] */ |
23. data_get( )
The data_get
function retrieves a value from a nested array or object using “dot” notation:
1 2 3 4 5 |
$data = ['products' => ['desk' => ['price' => 100]]]; $price = data_get($data, 'products.desk.price'); // 100 |
The data_get
function also accepts a default value, which will be returned if the specified key is not found:
1 2 3 |
$discount = data_get($data, 'products.desk.discount', 0); // 0 |
24. data_set( )
The data_set
function sets a value within a nested array or object using “dot” notation:
1 2 3 4 5 |
$data = ['products' => ['desk' => ['price' => 100]]]; data_set($data, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 200]]] |
This function also accepts wildcards and will set values on the target accordingly:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$data = [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2', 'price' => 150], ], ]; data_set($data, 'products.*.price', 200); /* [ 'products' => [ ['name' => 'Desk 1', 'price' => 200], ['name' => 'Desk 2', 'price' => 200], ], ] */ |
By default, any existing values are overwritten. If you wish to only set a value if it doesn’t exist, you may pass false
as the third argument:
1 2 3 4 5 |
$data = ['products' => ['desk' => ['price' => 100]]]; data_set($data, 'products.desk.price', 200, false); // ['products' => ['desk' => ['price' => 100]]] |
25. head( )
The head
function returns the first element in the given array:
1 2 3 4 5 |
$array = [100, 200, 300]; $first = head($array); // 100 |
26. last( )
The last
function returns the last element in the given array:
1 2 3 4 5 |
$array = [100, 200, 300]; $last = last($array); // 300 |
These are few helper function of the laravel, these are very useful and helpful to boost up your development speed.
Source : laravel docs
Thanks, I hope this post will help you.
1 Comment
Sangeet Kumar
November 11, 2017 at 4:55 pmThanks sir