Вроде как по ману в качестве ключа можно использовать только int и string.
Есть необходимость использовать в качестве ключа произвольные объекты, а в качестве значения - массив строк. Что-то типа:
$obj1 = new class1;
$obj2 = new class2;
$obj3 = new class2;
$arr = array($obj1=>array($prop11,$prop12,...),
$obj2=>array($prop21,$prop22,...),
$obj3=>array($prop31,$prop32,...), ...);
// для одного класса создано несколько объектов (obj2, obj3),
// - их заносить надо тоже по отдельности
$prop = array($obj1);