There are many alternatives:
Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all.
env - run a program in a modified environment
Set an environment variable. Mark each name to be passed to child processes in the environment.....
-p Display output in a form that may be reused as input.
If no names are supplied, or if the `-p' option is given, a list of exported names is displayed.
is useful to get shell variables as well.
If you need extra info (integer, exported) you should instead use
export has an advantage, that its output can be immediately read back onto the shell.
Lastly, there is
Display possible completions depending on the options.
which shows all variables, shell and environment, without their value or extra info. You will have to echo $VARIABLE_NAME to find the variable value. But at least the list is complete. It belongs to bash, not zsh.