On the QaFoo blog today there's a new post looking at building struct classes in PHP (by Kore Nordmann) as a replacement - and a step up - from storing data in structures like arrays.
In Apache Zeta Components and in several of my own projects we are using - so called - struct classes to solve this issue: The struct classes do not define any methods but just contain documented properties. They just deal as a data container, similar to a hash map.
He mentions a few benefits and drawbacks to using this approach including the fact that, while they're easier to document and can make things clearer in your IDE, they also are objects and are passed by reference by default (leading to possible unintended behavior). That being said, he includes a sample implementation so you can judge for yourself. The example defines a Location with a city and state properties that extends a base Struct class.