PHPで$の付いていない識別子(?)が勝手に文字列定数だと認識されるのは本当にうざすぎる!

次のようなソースコードがどうして無限ループになるのかさっぱりわからずはまりました。

for ($i = 1; i<=NUM; ++$i) {
  $result = $result + $_COOKIE[$i];
}