Skicka via referens: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= Sidslut = Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.references.pass.php <BR>PHP<BR>Språkreferens <BR>Språkreferens#Referenser Förklarade Kategori:Php<br> <BR> <hr> 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/ <BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har sponsr...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
=== Passera med referens === | |||
Du kan skicka en variabel med referens till en funktion så att funktionen kan modifiera variabeln. Syntaxen är som följer: | |||
<pre> | |||
<?php | |||
function foo(&$var) | |||
{ | |||
$var++; | |||
} | |||
$a = 5; | |||
foo($a); | |||
// $a är 6 här | |||
?> | |||
</pre> | |||
'''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.: | |||
<pre> | |||
<?php | |||
function foo(&$var) | |||
{ | |||
$var++; | |||
} | |||
function &bar() | |||
{ | |||
$a = 5; | |||
return $a; | |||
} | |||
foo(bar()); | |||
?> | |||
</pre> | |||
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: | |||
<pre> | |||
<?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 | |||
?> | |||
</pre> | |||
= Sidslut = | = Sidslut = | ||
Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.references.pass.php | Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.references.pass.php |
Nuvarande version från 24 augusti 2024 kl. 12.05
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.