Vad referenser inte är: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= Sidslut = Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.references.arent.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 spons...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
=== Vad referenser inte är === | |||
Som tidigare nämnts är referenser inte pekare. Det betyder att följande konstruktion inte kommer att göra det du förväntar dig: | |||
<pre> | |||
<?php | |||
function foo(&$var) | |||
{ | |||
$var =& $GLOBALS["baz"]; | |||
} | |||
foo($bar); | |||
?> | |||
</pre> | |||
Vad som händer är att `$var` i `foo` kommer att bindas till `$bar` i den anropande koden, men sedan återbindas till `$GLOBALS["baz"]`. Det finns inget sätt att binda `$bar` i den anropande omfattningen till något annat med hjälp av referensmekanismen, eftersom `$bar` inte är tillgänglig i funktionen `foo` (det representeras av `$var`, men `$var` har bara variabelinnehåll och inte namn-till-värde-bindning i den anropande symboltabellen). Du kan använda returreferenser för att referera till variabler som valts av funktionen. | |||
= Sidslut = | = Sidslut = | ||
Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.references.arent.php | Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.references.arent.php |
Nuvarande version från 24 augusti 2024 kl. 12.03
Vad referenser inte är
Som tidigare nämnts är referenser inte pekare. Det betyder att följande konstruktion inte kommer att göra det du förväntar dig:
<?php function foo(&$var) { $var =& $GLOBALS["baz"]; } foo($bar); ?>
Vad som händer är att `$var` i `foo` kommer att bindas till `$bar` i den anropande koden, men sedan återbindas till `$GLOBALS["baz"]`. Det finns inget sätt att binda `$bar` i den anropande omfattningen till något annat med hjälp av referensmekanismen, eftersom `$bar` inte är tillgänglig i funktionen `foo` (det representeras av `$var`, men `$var` har bara variabelinnehåll och inte namn-till-värde-bindning i den anropande symboltabellen). Du kan använda returreferenser för att referera till variabler som valts av funktionen.
Sidslut
Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.references.arent.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.