Ich habe einen Parser für PHP geschrieben und während ich mit Code von Drittanbietern herumalbere, stoße ich auf einen seltsamen Fall bezüglich des Operators []
.Was bedeutet [] beim Lesen aus einem PHP-Array?
Normalerweise wird ohne einen Schlüssel auf der linken Seite einer Zuweisung verwendet, was "als letztes Element hinzufügen" bedeutet.
$a = array();
$a[] = 1;
fügt 1 am Ende des Arrays $ a hinzu. obwohl
In dem oben genannten Code, sah ich eine Zeile wie diese:
$r =& $a[];
Wenn ich die & zu entfernen versuchte, bekam ich einen ziemlich fatalen Fehler zu erwarten:
Fatal error: Cannot use [] for reading
Mit dem &
Allerdings beschwert sich PHP überhaupt nicht. Was bedeutet der Ausdruck
& $a[];
?
Nun, da wir wissen, was es bedeutet, lasst uns alle versprechen, es nie zu benutzen. – webbiedave
Wir müssen in der Tat. :-) – Yiannis