Ich würd ja auch empfehlen, das grundlegend zu ändern, aber probier doch mal spaßeshalber
PHP-Code:
$arr[substr($varname, 0, strpos($varname, '['))][(int) substr($varname, strpos($varname, '['), -1)]
Würd mich ja doch interessieren ob des so funktioniert... ^^