我也不知道有木有这种东西,先看看我的过程
最开始:
$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这个变量
或者说直接将最原始的无故判断给搞定了去,有啥子思路咱没琢磨到的
感谢