Vad referenser inte är

Från Wiki.linux.se
Version från den 24 augusti 2024 kl. 12.03 av Admin (diskussion | bidrag)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

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.