stdClass Object ( ["sample"] => stdClass Object ( ["color"] => red ) ["0"] => stdClass Object ( ["color"] => green ) )
json_decode をすると第2引数を指定しない限り上のようになることがあります。
sample の color を取り出すなら、「$foo->sample->color」で良いのですが、
[0] のほうを取り出そうとして「$foo->0->color」とやってもエラーになります。
かといって $foo->item(0) みたいなものがあるわけでもないようなので、
素直に Array にキャストするのが普通ですが、もし強引にそのまま扱いたいのであれば
$foo->{'0'}->color
のようにすればとりあえず取れます。
とは言え扱いにくいので json_decode($foo, true) として連想配列にしておいたほうがいいと思います。
2012/11/24 追記:
この方法はキーがString型の場合のみ使用できます。