关于php中选择性声明变量

我也不知道有木有这种东西,先看看我的过程
最开始:

$field = ['aa', 'bb', .......];#十几二十之多
$data = array();
foreach($field as $v){
            switch($v){
            case "aa": $data[$v] = get_aa();break;
            .......
            }
} 

后来说
如果$field只有一个值zz
这样程序会从第一个case一个一个比对判断下去,不好
然后我就

 $field = ['aa', 'bb', .......];#十几二十之多
 $aa = function(){return get_aa();}; #将运算代码放入匿名函数
 $data = array();
 foreach($field as $v){
                $data[$v] = $$v();
 }

#这样就免去很多判断了,问题来了
#这样的话需要事先声明很多$aa、$bb这样的变量,所以我就琢磨如果$field=['zz'];能不能选择性只加载$zz这个变量

或者说直接将最原始的无故判断给搞定了去,有啥子思路咱没琢磨到的
感谢