Man sollte bendenken, dass ich das in einem String gemacht habe.
Denn:
Hier kann, selbstwenn drei eine konstante wäre, nichts schief gehen. Wir befinden uns hier
in einem Doublequoted String, also ist drei im Endeffekt ja wieder ein String.

Und Konstanten sind in einem String machtlos.
Nachtrag:
Code:
<?php
error_reporting(E_ALL);
echo $_GET[foo];
?>
Dass dieser Code aus dem oben genannten Grund eine Notice auslößt, ist klar. Das darf, soll und macht man auch nicht (hab ich auch nicht

).
Aber dieser Code:
Code:
<?php
error_reporting(E_ALL);
echo "$_GET[foo]";
?>
lößt keine Notice aus, da foo ja ein String ist, da es IN einem Doublequoted-String aufgerufen wird.

Und so hab ich das auch gemacht.

Also alles ganz "legal".
Grüße
Faux
NACHTRAG 2:
Hab gerade gesehen, dass es im PHP-Handbuch noch weiter geht, nach deinem Auszug:
Zitat:
// Folgendes ist in Ordnung, weil es innerhalb eines Strings ist.
// Innerhalb eines Strings wird nicht nach Konstanten gesucht und
// deshalb gibt es hier auch keinen E_NOTICE-Fehler.
print "Hallo $arr[obst]"; // Hallo Apfel