Dino Geek, probeer je te helpen

Hoe parameters doorgeven door verwijzing naar een functie in PHP?


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.

  1. Parameters doorgeven door waarde
    Standaard worden parameters in PHP door waarde doorgegeven. Dit wil zeggen dat de functie een kopie van de waarde van de parameter ontvangt en eventuele wijzigingen die aan deze parameter binnen de functie worden aangebracht geen invloed hebben op de originele variabele.

```
function voegTienToe($waarde) { $waarde += 10; return $waarde;
}

$getal = 5;
echo voegTienToe($getal); // Output: 15
echo $getal; // Output: 5
```

  1. Parameters doorgeven door verwijzing
    Om parameters door verwijzing door te geven, moet je een ampersand (&) voor de parameternaam zetten in de functiedefinitie. Dit zorgt ervoor dat de parameter wordt behandeld als een alias van de originele variabele, waardoor wijzigingen binnen de functie ook invloed hebben op de variabele buiten de functie.

```
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.

  1. Voordelen van parameters door verwijzing
    1. Geheugenefficiëntie: Het kan efficiënter zijn om grote gegevensstructuren (zoals arrays of objecten) door verwijzing door te geven in plaats van kopieën te maken.
    2. Functie output: Het is mogelijk om een functie meerdere waarden te laten beïnvloeden of retourneren zonder gebruik te maken van `return`.
    3. Persistentie: Wijzigingen aangebracht in functieparameters worden behouden buiten het bereik van de functie.

  1. Voorbeeld met array
    Arrays zijn in PHP complexe gegevensstructuren waarvan het kopiëren veel geheugen kan vereisen. Het doorgeven van arrays door verwijzing kan dus zeer nuttig zijn.

```
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.


Genereer eenvoudig artikelen om uw SEO te optimaliseren
Genereer eenvoudig artikelen om uw SEO te optimaliseren





DinoGeek biedt eenvoudige artikelen over complexe technologieën

Wilt u in dit artikel worden geciteerd? Het is heel eenvoudig, neem contact met ons op via dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domeinnaam | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Juridische Vermelding / Algemene Gebruiksvoorwaarden