Zsh manual mentions that option -a means ALL_EXPORT,
-a
ALL_EXPORT
ALL_EXPORT (-a, ksh: -a) All parameters subsequently defined are automatically exported.
ALL_EXPORT (-a, ksh: -a)
All parameters subsequently defined are automatically exported.
While export makes the variable available to sub-processes, the how can the same variable foo be local?
export
foo