私の問題は、一意のインスタンスではなく、オブジェクトの等価性 (==) でマップしたいことです。つまり、これをリファクタリングして、エラーをスローせずにマップされた値を返すようにします。
$var1 = (object) [1,2,10];
$var2 = (object) [1,2,10];
$objmap = new SplObjectStorage();
$objmap[$var1] = "mapped value here";
echo $objmap[$var2];
編集: また、SplObjectStorage オブジェクトのキーを反復処理して等価にする必要がある場合は、代わりに、オブジェクト/配列をハッシュし、ハッシュにマップするだけの良い方法を知りたいと思います。