Don't try to array_combine two empty arrays

This fixes the case where there are no consumers attached to the analytics instance. Basically, `array_combine` requires that both arrays have a value, otherwise it throws an error. We shouldn't be calling `array_combine` with two empty arrays in the first place--the result will always be an empty array in that case--so this is a minor optimization, but it also prevents unit tests from failing (since they never have consumers attached).

ping @PascalZajac 
Nitpick, but since we're doing the same guarded combine 3 times, perhaps extract it and do it once?