PHP Tutorial.nl

Word een PHP expert!!!

Home » Arrays » Spread operator

De ware kracht van de Spread Operator in PHP

De spread operator is een krachtige en flexibele tool in PHP, geïntroduceerd in PHP 5.6 en uitgebreid in latere versies. Deze operator wordt gebruikt om arrays of objecten eenvoudig uit te pakken, wat kan leiden tot elegantere en leesbaardere code. In deze tutorial gaan we dieper in op de toepassingen en mogelijkheden van de spread operator in PHP.

Wat is de Spread Operator?

De spread operator, aangeduid met ..., stelt je in staat om de elementen van een array of object uit te pakken in een andere context, zoals een functieaanroep of een array. Dit maakt het eenvoudiger om met dynamische gegevens te werken en voorkomt het handmatig schrijven van herhalende code.

Gebruik van de Spread Operator bij functieaanroepen

Een van de meest voorkomende toepassingen van de spread operator is bij functieaanroepen. Hiermee kun je een array van argumenten doorgeven aan een functie die meerdere parameters verwacht.

function voegGetallenToe($a, $b, $c) {
    return $a + $b + $c;
}

$waarden = [1, 2, 3];
echo voegGetallenToe(...$waarden); // Output: 6

n dit voorbeeld wordt de array $waarden uitgepakt zodat de individuele elementen worden doorgegeven als afzonderlijke argumenten aan de functie voegGetallenToe.

Gebruik van de Spread Operator bij arrays

De spread operator kan ook worden gebruikt om arrays te combineren of te klonen op een elegante manier.

$array1 = [1, 2, 3];
$array2 = [4, 5, 6];

$gecombineerd = [...$array1, ...$array2];
print_r($gecombineerd); // Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )

Hier worden de elementen van $array1 en $array2 gecombineerd in een nieuwe array $gecombineerd zonder expliciete loops of array-functies.

Diepe kopieën van arrays

Bij het maken van kopieën van arrays, vooral geneste arrays, kan de spread operator helpen bij het maken van diepe kopieën om wijzigingen in de originele array te voorkomen.

$arrayOrigineel = [1, [2, 3]];
$arrayKopie = [...$arrayOrigineel];

// Wijzig een geneste waarde in de originele array
$arrayOrigineel[1][0] = 99;

print_r($arrayKopie); // Output: Array ( [0] => 1 [1] => Array ( [0] => 2 [1] => 3 ) )
print_r($arrayOrigineel); // Output: Array ( [0] => 1 [1] => Array ( [0] => 99 [1] => 3 ) )

Gebruiken met associatieve arrays

De spread operator kan ook worden gebruikt met associatieve arrays, hoewel dit pas in PHP 7.4 volledig werd ondersteund. Het combineert de waarden van meerdere associatieve arrays in een nieuwe array.

$array1 = ['a' => 1, 'b' => 2];
$array2 = ['c' => 3, 'd' => 4];

$gecombineerd = [...$array1, ...$array2];
print_r($gecombineerd); // Output: Array ( [a] => 1 [b] => 2 [c] => 3 [d] => 4 )