I may be mistaken, but I believe you cannot selectively use keys as globals. You would have to do
global $pre, $predis;
and then use the keys.
The problem lies in that while the variables $pre and $predis have unique identifiers, the keys are only identified in reference to their variables, such that $var1['key'] != $var2['key']. There is no way to assign that specific key to an identifier while making it global, at least in one step. You could however, use an intermediate variable, like
$prekey = $pre['key'];
global $prekey;
$pre[''.$a.''], just do$pre[$a].''even with a non-numeric key.