Hallo,
$_datensatz = ('Hallo','ich','bin','ein','Datensatz');
$_anderer_Name &= $_datensatz;
echo "<pre>\n";
echo print_r($_anderer_name,1);
echo "</pre>\n";
$_anderer_Name &= $_datansatz[5];
$_anderer_name = 'kein';
echo "<pre>\n";
echo print_r($_datensatz,1);
echo "</pre>\n";
Das funktioniert leider nicht. PHP gibt mir folgendes aus (Quelltext):
Parse error: syntax error, unexpected ',' in X:\Meine Webseite\more\Test-Adress-Alias.php on line 4
Wenn ich vor die Klammern bei „$_datensatz“ „array“ schreibe, funktioniert es auch nicht. Dann kommt:
<br />
<b>Notice</b>: Undefined variable: _anderer_Name in <b>X:\Meine Webseite\more\Test-Adress-Alias.php</b> on line <b>6</b><br />
<pre>
<br />
<b>Notice</b>: Undefined variable: _anderer_name in <b>X:\Meine Webseite\more\Test-Adress-Alias.php</b> on line <b>9</b><br />
</pre>
<br />
<b>Notice</b>: Undefined variable: _datansatz in <b>X:\Meine Webseite\more\Test-Adress-Alias.php</b> on line <b>12</b><br />
<pre>
Array
(
[0] => Hallo
[1] => ich
[2] => bin
[3] => ein
[4] => Datensatz
)
</pre>
So ungefähr zur Verdeutlichung.
Wenn Du also einen Zugriff solcher Art öfter hättest
echo $_array[$array_2[2]]['links']
echo $_array[$array_2[2]]['oben']
echo $_array[$array_2[2]]['unten']
könntest Du den ersten Teil durch den Alias ersetzen
$_direkt &= $_array[$array_2[2]];
echo $_direkt['unten'];
Hm, das kann ich bei meinen Objekten auch ohne diesen Adress-Alias machen. Folgendes funktioniert ebenso:
$x = $document->getElementById("ElementID");
$x->setAttribute("style","color:red;");
Dabei würde er das Element mit der ID „ElementID“ z.B. rot färben (per style-Attribut).
Den Adress-Alias scheint man also nur zu brauchen, wenn man die Referenz von (assoziativen) Arrays in eine Variable speichern will, weil er sonst eine Kopie erstellt.
Eine Entsprechung zu „with“ wollte ich, weil es IMHO übersichtlicher ist und man auf zusätzliche Variablen verzichten kann.
Naja, ich habe mir das jetzt sowieso noch etwas vereinfacht, sodass ich die Unterobjekte kaum noch neu referenzieren muss.
mfg. Daniel