Array of planes with different static textures
I've had some luck with this approach.


UV map an array of card geometry against whatever batch-of-cards image you are using. (I imported the image as a plane for reference, adjusted a card-array so the geometry captured the individual cards, and projected the UV from an orthogonal view)
Apply the array, and P separate the card-array-object by loose parts. You should now have a set of separate card-objects, each with its own UV coordinate reference to the batch image. (So now, they will use the 'UV' texture space in their common front-face material)
With all the card-objects selected, ShiftAltO set their origins to their geometry.
Make a Group of the cards
Make an array of small square Planes, Object-Offset as you choose
Use the plane-array as an emitter for a particle system, with the card-group as source of instances: the settings something like as shown.. (all other settings null, no physics, velocity, etc.)




This isn't without minor gotchas.. sometimes the rotations can flip out (gimbal lock?) so watch out for that before committing to a major render.

Hopefully you will retain all the features of array manipulation on the array of plane emitters, and the individual cards will follow. If you 'Use Count' in the particle Render settings, you can select and order the cards in the array.

It's sensible to parent the plane-array and the offset-object to anther empty, so you can transform the whole arrangement with it, without upsetting the array's offset.