Skicka via referens
Passera med referens
Du kan skicka en variabel med referens till en funktion så att funktionen kan modifiera variabeln. Syntaxen är som följer:
<?php function foo(&$var) { $var++; } $a = 5; foo($a); // $a är 6 här ?>
Notera: Det finns inget referenstecken vid funktionsanropet – endast vid funktionsdefinitioner. Funktionsdefinitionerna ensamma är tillräckliga för att korrekt skicka argumentet med referens.
Följande saker kan skickas med referens:
- Variabler, dvs. `foo($a)`
- Referenser som returneras från funktioner, dvs.:
<?php function foo(&$var) { $var++; } function &bar() { $a = 5; return $a; } foo(bar()); ?>
Läs mer om att returnera med referens.
Inga andra uttryck bör skickas med referens, eftersom resultatet är odefinierat. Till exempel är följande exempel på att skicka med referens ogiltiga:
<?php function foo(&$var) { $var++; } function bar() // Notera att & saknas { $a = 5; return $a; } foo(bar()); // Ger en varning foo($a = 5); // Uttryck, inte variabel foo(5); // Ger ett fatalt fel class Foobar { } foo(new Foobar()); // Ger en varning från och med PHP 7.0.7 // Varning: Endast variabler bör skickas med referens ?>
Sidslut
Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.references.pass.php
PHP
Språkreferens
Språkreferens#Referenser Förklarade
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.