Vad referenser inte är: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(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...')
 
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.