ここがへんだよPHP

<?php

class Hoge {
   public $v = 'aaa';
}

$h = new Hoge();
$a = array('h' => $h);

echo $a['h']->v;  // OK
echo ($a['h'])->v; // シンタックスエラー

上記、意味が分かりません。どーゆーパースしてるんだろうか。

あと、
constにarrayとかobjectは指定出来なくて、スカラ値しか指定出来ないとか、
殆ど同じであろう連想配列とオブジェクトでアクセスの仕方が異なるとか、
色々書いててストレスが溜る。