Last active
March 4, 2020 18:10
-
-
Save woprrr/76c05964b0f7daf60f515857a74e83d1 to your computer and use it in GitHub Desktop.
PHP 7.4 Spread Operator in Array Expression examples. Try it now : https://3v4l.org/hfFZm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
# Forget array_merge PHP 7.4 Spread Operator in Array Expression. | |
# ONLY FOR PHP 7.4 + | |
#/!\ PERFORMANCE BEST PRACTIVE /!\ | |
$args = ['foo', 'bar', 'baz']; | |
$arr = [...$args, 'buz']; | |
var_dump($arr); | |
# MULTIPLE SPREAD | |
$arr1 = [1, 2, 3]; | |
$arr2 = [4, 5, 6]; | |
$arr3 = [...$arr1, ...$arr2]; | |
$arr4 = [...$arr1, ...$arr3, 7, 8, 9]; | |
var_dump($arr4); | |
# SPREAD WITH FUNCTION | |
function buildArray() | |
{ | |
return ['red', 'green', 'blue']; | |
} | |
$arr5 = [...buildArray(), 'pink', 'violet', 'yellow']; | |
var_dump($arr5); | |
# SPREAD WITH GENERATOR | |
function generator() { | |
for ($i = 3; $i <= 5; $i++) { | |
yield $i; | |
} | |
} | |
$arr6 = [0, 1, 2, ...generator()]; | |
var_dump($arr6); | |
# SPEACIAL USECASE WHEN YOU NEED TO UNPACK ELEMENT WITH REFERENCE | |
# $arr1 = ['red', 'green', 'blue']; | |
# $arr2 = [...&$arr1]; | |
# This will throw a syntax error because ...& isn't supported yet | |
# To do that you will use another way like this : | |
$arr7 = 'red'; | |
$arr8 = [&$arr7, 'green', 'blue']; | |
$arr9 = ['white', ...$arr8, 'black']; | |
var_dump($arr9); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment