If you assign an array() to an object in SplObjectStorage and then try to modify its individual elements, you'll probably find it doesn't work.
Instead, you can use ArrayObject(), which will emulate array behaviour.
<?php
$storage = new SplObjectStorage();
$obj1 = new StdClass();
$obj2 = new StdClass();
$storage[$obj1] = array();
$storage[$obj2] = new ArrayObject();
$storage[$obj1]['person'] = 'Jana'; $storage[$obj2]['person'] = 'Jana'; var_dump($storage[$obj1]['person']); var_dump($storage[$obj2]['person']); ?>