dedlfix: php-seite in iframe laden

Beitrag lesen

echo $begrüßung;

Werte eines assoziativen Arrays sind Werte einer (nicht primitiven) Variablen, jedoch selbst keine solchen.

Das sehe ich ganz und gar nicht so. Vielmehr sind das was du als Variablen gelten lässt, selbst im Prinzip nur Einträge in einem assoziativen Array, nämlich im globalen, das durch $GLOBALS repräsentiert wird. PHP verwendet zval-Container sowohl für die Inhalte "einfacher" Variablen als auch für die Elemente eines Arrays, egal ob assoziativ oder nicht. Auch Objekt-Eigenschaften sind nur zval-Container, also Variablen, auch wenn sie mit "Eigenschaft" eine eigene Bezeichnung haben.

Eine Variable ist nach meiner Definition alles was ein zval-Container ist, egal, ob ein Eintrag in der globalen Symboltabelle oder einer aus einem Array draufzeigt. Es gibt auch keinen Unterschied in der Anwendung zwischen diesen "Typen". Eine zval-Container ist ein zval-Container und wird als solcher behandelt. Namen und Verweise darauf sind zweitrangig.

Was wäre deiner Meinung nach eine Referenz auf eine "einfache" Variable?

$ref &= $variable;

Eine Sonderform oder eine Variable mit zwei Namen? Und was ist eine Referenz auf einen Array-Eintrag?

$ref &= $array['element'];

Noch eine nächste Sonderform oder vielleicht auch nur eine Variable mit zwei Namen bzw. Verweisen?

Siehe zu dem Thema Derick Rethans' PHP References Article (verlinkt im PHP-Manual unter debug_zval_dump()).

echo "$verabschiedung $name";