есть ли способ получить список переменных, которые были определены в функции, или список всех доступных переменных в функции?
Существует get_defined_vars():
get_defined_vars()
Эта функция возвращает многомерный массив, содержащий список всех определенных переменных, будь то окружающая среда, сервер или переменные, определенные пользователем, в пределахобласть, в которой вызывается get_defined_vars ().
она должна вызываться внутри каждой функции, которую вы хотите проанализировать.
http://php.net/manual/en/function.get-defined-vars.php
Документация действительно ^^
func_num_args - возвращает количество аргументов, переданных функции func_get_arg - возвращает элемент из списка аргументов. func_get_args - возвращает массив, содержащий список аргументов функции