This new tutorial will enrich your programming skills in the PHP language. It will introduce you to one of the valuable operators in PHP which is the Spread Operator with advanced program examples.
As a brief introduction, PHP programming language is very useful for web development especially when you gain the skills.
What is a PHP spread operator?
The PHP spread operator is also known as the splat operator or scatter operator which comes from the concept of unpacking arguments. This concept proposes to apply the function of unpacking arguments to array expressions.
To implement the PHP spread operator use the three dots as prefixes to the name of an array. It then spreads the array elements of that argument, but the spread operator will only expand Traversable arrays and objects.
So first, let us have an…
Example Program using PHP Spread Operator:
Sample Code
<?php
$array1 = [11, 22, 33];
$array2 = [1, 2, 3, ...$array1];
echo "<pre>";
print_r ($array2);
echo "</pre>";
?>
Output
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 11 [4] => 22 [5] => 33 )
Code Explanation
The first example informs the program to unpack the argument the $array1
and merge them with the values of $array2
.
Take note: The <pre></pre>
tag is applied to show a readable output for the readers.
Example Program using PHP Spread Operator Multiple Times:
Sample Code
<?php
$ones = [1, 2, 3];
$twos = [4, 6, 8];
$both = [...$ones, ...$twos];
echo "<pre>";
print_r($both);
echo "</pre>";
?>
Output
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 6 [5] => 8 )
Code Explanation
In this example, we have the three defined arguments and each of them has its own set of arrays. The first argument is the $ones
with [1, 2, 3]
as its value set.
Next is the $twos
argument with the value of [4, 6, 8]
, and we will merge the $ones
and $twos
in the third argument. To do this, we use the three dots prefix to unpack the arrays in $ones
and $twos
as the value of the $both
argument.
Example Program using PHP Spread Operator with a Return Value of a Function Call:
Sample Code
<?php
function get_random_numbers()
{
for ($a = 0; $a < 5; $a++) {
$x[] = rand(1, 100);
}
return $x;
}
$x = [...get_random_numbers()];
echo "<pre>";
print_r($x);
echo "</pre>";
?>
Output
Array ( [0] => 20 [1] => 15 [2] => 59 [3] => 59 [4] => 1 )
Code Explanation
In this example, the function that we use is the get_random_numbers()
. Inside this function, we define the base variable $a
within the for statements and variable $x
containing the random array that will serve as output.
To execute the program, we call the function get_random_numbers
and place it as the array value of the $x
. Then, upon running the program, your console will display the random numbers as the array output as in the example.
Example Program using PHP Spread Operator with a Generator:
Sample Code
<?php
function even_number()
{
for($a = 2; $a < 20; $a += 4){
yield $a;
}
}
$num = [...even_number()];
echo "<pre>";
print_r($num);
echo "</pre>";
?>
Output
Array ( [0] => 2 [1] => 6 [2] => 10 [3] => 14 [4] => 18 )
Code Explanation
The sample code tries to show you a possible process when we can automatically generate numbers out of the given values. So we have an anonymous function even_numbers
and we created a concept of generating numbers by 4 from 2
without exceeding it to 20
.
Next, we will try the generator by calling the function as an array value of the argument $num
. Then we use the
print_r()
function to display the generated numbers (by 4)
from 2
to 20
.
Example Program Using PHP Spread Operator with a Traversable Object:
Sample Code
<?php
class color implements IteratorAggregate
{
private $COLOR = ['black','white','grey'];
public function getIterator()
{
return new ArrayIterator($this->COLOR);
}
}
$sample = new color();
$COLOR = [...$sample];
echo "<pre>";
print_r($COLOR);
echo "</pre>";
?>
Output
Array ( [0] => black [1] => white [2] => grey )
Code Explanation
This example shows that you can use PHP’s spread operator on any object that implements the Traversable interface, not just an array.
Example Program Spread Operator and Named Arguments:
Sample Code
<?php
function sample_format (string $first, string $middle, string $last): string
{
return $middle ?
"$first $middle $last" :
"$first $last";
}
echo sample_format($first = 'Jay', $middle = 'L.', $last = 'Steel');
?>
Output
Jay L. Steel
Related Articles
- PHP array_merge With Detailed Explanation
- PHP Array Iterator with Example Program
- PHP Trim Function With Examples
- PHP in_array function With Examples
- PHP PDO Fetch (With Detailed Explanation)
Conclusion
In conclusion, the discussion about the PHP spread operator is now covered, and completed the necessary explanation in different areas of the topic. It has its corresponding details in each example program which I believe brightens your understanding of the spread operator.
Additionally, the example above is usable for free! Try those now and create a project out of it to improve your abilities in the field of PHP language.