In PHP kunnen parameters op twee manieren aan functies worden doorgegeven: door waarde en door verwijzing. Bij het doorgeven van parameters door waarde, wordt een kopie van de originele waarde naar de functie gestuurd, terwijl bij het doorgeven door verwijzing, een verwijzing naar de originele variabele zelf wordt doorgestuurd. Dit betekent dat wijzigingen die aan de parameter binnen de functie worden aangebracht, ook invloed hebben op de originele variabele buiten de functie. Dit mechanisme kan handig zijn in verschillende situaties, zoals het optimaliseren van het geheugenverbruik of het noodzakelijk wijzigen van variabelen binnen een functie.
```
function voegTienToe($waarde) {
$waarde += 10;
return $waarde;
}
$getal = 5;
echo voegTienToe($getal); // Output: 15
echo $getal; // Output: 5
```
```
function voegTienToePerVerwijzing(&$waarde) {
$waarde += 10;
}
$getal = 5;
voegTienToePerVerwijzing($getal);
echo $getal; // Output: 15
```
Bij het gebruik van de `voegTienToePerVerwijzing` functie is de waarde van `$getal` buiten de functie gewijzigd omdat we de parameter door verwijzing hebben doorgegeven.
```
function voegElementToePerVerwijzing(&$array, $element) {
$array[] = $element;
}
$mijnArray = [‘a’, ‘b’, ‘c’];
voegElementToePerVerwijzing($mijnArray, ‘d’);
print_r($mijnArray); // Output: Array ( [0] => a [1] => b [2] => c [3] => d )
```
In dit voorbeeld wordt de array `$mijnArray` door verwijzing doorgegeven aan de functie `voegElementToePerVerwijzing`, waardoor het nieuwe element ‘d’ daadwerkelijk aan de originele array wordt toegevoegd.
Referenties:
- [PHP Documentation – Function Arguments](https://www.php.net/manual/en/functions.arguments.php)
- [W3Schools – PHP Functions](https://www.w3schools.com/php/php_functions.asp)
- [GeeksforGeeks – Pass by Reference in PHP](https://www.geeksforgeeks.org/pass-by-reference-in-php/)
Door deze principes en voorbeelden te begrijpen en toe te passen, kun je efficiëntere en flexibelere PHP-functies schrijven.