Christian Seiler: Eckige Klammern ohne Anführungszeichen?

Beitrag lesen

Hallo!

aber müsste es nicht eigentlich

$var['index']

heissen?

Ja, müßte es.

Wrum handelt es sich bei dem Teil ohne Anführungszeichen,

Weil der Programmierer geschlampt hat.

was bringt das,

Gar nichts. Wenn Du beispielswiese

$a = computer;

schreibst, dann sucht PHP zuerst nach einer Konstante mit dem Namen computer. Falls diese existiert, wird der Wert dieser Konstante genommen. Falls die Konstante nicht existiert, nimmt PHP einfach das, was dort steht. Also steht in diesem Fall in der Variable $a eine Zeichenkette 'computer'.

Folglich ist $var[index] das gleiche wie $var['index'] - SOLANGE keine Konstante mit dem Namen index definiert ist. Und genau das ist der Knackpunkt, denn wenn jemals eine solche Konstante definiert sein sollte, wird ihr Wert genommen und nicht das, was einfach so dort steht. Daher sollte man das tunlichst vermeiden.

wo nutzt man das am besten?

Gar nicht.

Viele Grüße,
Christian