Im Artikel "Referenzen" stimmt m.E. der erste Satz NICHT:
Es muss vor der Referenz nicht zwingend ein Wert zugewiesen worden sein, Referenzen können auch VOR der Belegung der Speicherstelle mit einem Wert erstellt werden:
Als immer noch Lernender würde ich daher vorschlagen, den ersten Block zu ändern, um dem Neulingen das Thema Referenzen noch leichter verständlich zu machen:
Eine Referenz stellt einen Verweis auf eine Speicherstelle dar, in der der Wert einer bereits initialisierten Variablen abgelegt wurde.
PHP-Code:
$myRef =& $theval;
$myRef2 =& $thearr;
$theval=100;
echo $myRef . "\n";
$thearr[]=1;
$thearr[]=2;
print_r( $myRef2 );
return;
Eine Referenz stellt - wie das intern ein Variablenname übrigens auch tut - nur einen (weiteren) Verweis auf eine Speicherstelle dar. Dabei übt sie praktisch die Funktion eines Aliasnamens für eine Variable aus.
Eine Referenz kann zu jedem Zeitpunkt erstellt werden, also ins besondere auch schon bevor die Speicherstelle einen Wert über eine Zuweisung erhalten hat.
Wird eine Referenz angetroffen, bevor eine Zuweisung zur Variable erfolgte, so wird die Speicherstelle initialisiert (ohne Wert) und zu dieser in der Lookup-Tabelle sowohl eine Verbindung zu der in der Referenz benutzten Variablen als auch zur Referenz selbst eingetragen.
Eine Zuweisung kann fortan sowohl über den Variablennamen als auch über die Referenz erfolgen und bewirkt die Änderung der Speicherstelle.
Eine Referenz kann zu jedem Zeitpunkt erstellt werden, also ins besondere auch schon bevor die Speicherstelle einen Wert über eine Zuweisung erhalten hat.
Wird eine Referenz angetroffen, bevor eine Zuweisung zur Variable erfolgte, so wird die Speicherstelle initialisiert (ohne Wert) und zu dieser in der Lookup-Tabelle sowohl eine Verbindung zu der in der Referenz benutzten Variablen als auch zur Referenz selbst eingetragen.
Eine Zuweisung kann fortan sowohl über den Variablennamen als auch über die Referenz erfolgen und bewirkt die Änderung der Speicherstelle.
Kommentar