This is exactly why having a guaranteed structure is a safer solution. By supporting both, the complexity of this function is unnecessarily increased. Now the only way to infer which structure it's dealing with is by examining the data, iterating over it, and checking the index - none of which is efficient or necessary if the input structure was guaranteed.

I'll allow it to go through this time, since changing this seems like it would be a monumental level of effort. But please be aware that the design pattern of supporting ```getSomething( $key )``` or ```getSomething( $keys )``` is only effective when you have simple structures (a primitive type or an array of primitive types). Once you get into multi-dimentional arrays, that pattern starts to break down as we're seeing here.

For future reference, using objects rather than arrays solves this, and many other problems that we've seen on this app. We went with that approach on the network years ago and it has proven itself. Look into the Core_Data_Container object for an example of a very simple, extendable object that we've used throughout our apps.