Cheat sheet for PHP array functions

Roberto B. - Dec 9 '21 - - Dev Community

Cheat sheet for showing some "use cases" about PHP array functions, sorting, editing, map, filter etc.

Append arrays

Returns a new array, appending input arrays with array unpacking

$arr = [1,2,3,4,5];
$output = [...$arr, ...[10,11,12]];
print_result($output);
// ARRAY   : 1,2,3,4,5,10,11,12
Enter fullscreen mode Exit fullscreen mode

Returns a new array, appending input arrays with array_merge

$arr = [1,2,3,4,5];
$output = array_merge($arr, [10,11,12]);
print_result($output);
// ARRAY   : 1,2,3,4,5,10,11,12
Enter fullscreen mode Exit fullscreen mode

Joins elements into string

Joins all elements into a string with a separator

$arr = [1,2,3,4,5];
$output = implode(",", $arr);
print_result($output);
// STRING  : 1,2,3,4,5
Enter fullscreen mode Exit fullscreen mode

A section of an array

Returns a section of an array from $start to $end

$start = 0;
$end = 3;
$arr = [1,2,3,4,5];
$output = array_slice($arr, $start, $end);
print_result($output);
// ARRAY   : 1,2,3
Enter fullscreen mode Exit fullscreen mode

Find the first occurrence

Returns the index of the first occurrence of element in array

$arr = [1,2,3,4,5, 1,2,3,4,5];
$element = 4;
$output = array_search($element, $arr);
print_result($output);
// INTEGER : 3
Enter fullscreen mode Exit fullscreen mode

Find the last occurrence

Returns the index of the last occurrence of element in array

$arr = [1,2,3,4,5, 1,2,3,4,5];
$element = 4;
$output = array_search(4, array_reverse($arr, true));
print_result($output);
// INTEGER : 8
Enter fullscreen mode Exit fullscreen mode

A function for each element

Calls function for each element of array (the array is unchanged)

$arr = [1,2,3,4,5];
$output = array_walk($arr, function ($element) {
    $double = $element * 2;
});
print_result($output);
print_result($arr);
// BOOLEAN : true
// ARRAY   : 1,2,3,4,5
Enter fullscreen mode Exit fullscreen mode

All elements match an expression

Returns true if all elements match a condition

$arr = [1,2,3,4,5];
$result = array_reduce($arr, fn($result, $element) => $result && ($element > 0), true);
print_result($result);
// BOOLEAN : true
Enter fullscreen mode Exit fullscreen mode

At least 1 element matches an expression

Returns true if at least 1 element matches a condition

$arr = [1,2,3,4,5];
$result = array_reduce($arr, fn($result, $element) => $result || ($element >= 5), false);
print_result($result);
// BOOLEAN : true
Enter fullscreen mode Exit fullscreen mode

Filter elements

Returns new array, with element that matches the fn() function

$arr = [1,2,3,4,5];
$result = array_filter($arr, fn($element) => $element > 3);
print_result($result);
// ARRAY   : 4,5
Enter fullscreen mode Exit fullscreen mode

Apply a function for each element

Returns new array with the results of running fn on every element

$arr = [1,2,3,4,5];
$result = array_map(fn($element) => $element + 3, $arr);
print_result($result);
// ARRAY   : 4,5,6,7,8
Enter fullscreen mode Exit fullscreen mode

Flatten array

Returns a flatten array of a nested array

$nestedArray = [1, [2,3], [4,5,6], 7];
$result = array_reduce($nestedArray, fn($result, $element) => array_merge($result, is_array($element) ? [...$element] : [$element]), []);
print_result($result);
// ARRAY   : 1,2,3,4,5,6,7
Enter fullscreen mode Exit fullscreen mode

Change some elements

Changes all elements in range to a the specified value

$arr = [1,2,3,4,5,6,7,8,9];
$start = 2;
$count = 6;
$result = array_replace($arr, array_fill($start, $count, 88));
print_result($result);
// ARRAY   : 1,2,88,88,88,88,88,88,9
Enter fullscreen mode Exit fullscreen mode

Apply a function with all elements

Returns a single value which is the function's accumulated result L2R

$arr = [1,2,3,4,5,6,7,8,9];
$result = array_reduce($arr, fn($result, $element) => $result + $element, 0);
print_result($result);
// INTEGER : 45
Enter fullscreen mode Exit fullscreen mode

Returns a single value which is the function's accumulated result R2L

$arr = [1,2,3,4,5,6,7,8,9];
$result = array_reduce(array_reverse($arr), fn($result, $element) => $result + $element, 0);
print_result($result);
// INTEGER : 45
Enter fullscreen mode Exit fullscreen mode

Last element

Removes and returns last element from array

$arr = [1,2,3,4,5,6,7,8,9];
$result = array_pop($arr);
print_result($result);
print_result($arr);
// INTEGER : 9
// ARRAY   : 1,2,3,4,5,6,7,8
Enter fullscreen mode Exit fullscreen mode

Prepends an element

Add element at the start of an array and return new length

$arr = [1,2,3,4,5,6,7,8,9];
$newElement = 99;
$result = array_unshift($arr, $newElement);
print_result($result);
print_result($arr);
// INTEGER : 10
// ARRAY   : 99,1,2,3,4,5,6,7,8,9
Enter fullscreen mode Exit fullscreen mode

Add element at the end

Adds element to the end of arr and returns new length

$arr = [1,2,3,4,5,6,7,8,9];
$newElement = 99;
$result = array_push($arr, 99);
print_result($result);
print_result($arr);
// INTEGER : 10
// ARRAY   : 1,2,3,4,5,6,7,8,9,99
Enter fullscreen mode Exit fullscreen mode

Reverse an array

Reverse order of an array

$arr = [1,2,3,4,5,6,7,8,9];
$result = array_reverse($arr);
print_result($result);
// ARRAY   : 9,8,7,6,5,4,3,2,1
Enter fullscreen mode Exit fullscreen mode

Sorting

Sort the elements of an array

$arr = [5,3,4,1,2,9,7,8,6];
$result = sort($arr);
print_result($arr);
// ARRAY   : 1,2,3,4,5,6,7,8,9
Enter fullscreen mode Exit fullscreen mode

Remove/replacing/adding elements

Changes content of arr removing, replacing and adding elements at position $start, it removes $count elements and insert it returns the elements removed, and changes the $arr

$arr = [1,2,3,4,5,6,7,8,9];
$start = 4;
$count = 3;
$newElements = [70,71];
$result = array_splice($arr, $start, $count, $newElements);
print_result($result); // removed elements
print_result($arr); // changed array
// ARRAY   : 5,6,7
// ARRAY   : 1,2,3,4,70,71,8,9
Enter fullscreen mode Exit fullscreen mode

Stringify and array

Returns a string representing arr its elements

$arr = [1,2,3,4,5,6,7,8,9];
$result = implode("", $arr);
print_result($result);
// STRING  : 123456789
Enter fullscreen mode Exit fullscreen mode

Length

Returns length of an array

$arr = [1,2,3,4,5,6,7,8,9];
$result = count($arr);
print_result($result);
// INTEGER : 9
Enter fullscreen mode Exit fullscreen mode

Is array?

Returns true if $arr is an array

$arr = [1,2,3,4,5,6,7,8,9];
$result = is_array($arr);
print_result($result);
// BOOLEAN : true
Enter fullscreen mode Exit fullscreen mode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .