以下大部分内容来自《ThinkPHP5高阶实战教程 --诠释为API开发而生》

控制器基类

生成参数函数

/**
     * 数据库字段 网页字段转换
     * #User: Mikkle
     * #Email:776329498@qq.com
     * #Date:
     * @param $array 转化数组(参数名称对应字段名称的数组)
     * @return 返回数据数组
     */
    protected function buildParam($array)
    {
        $data=[];
        if (is_array($array)){
            foreach( $array as $item=>$value ){
                $data[$item] = $this->request->param($value);
            }
        }
        return $data;
    }

以下是回复者优化的代码

    final protected function buildParam($array = [], $method = 'param')
    {
        $result_data = [];
        if (empty($array)) {  //判断$array是否为空
            return $this->request->$method(); //空则以$method方式获取request参数
        } elseif (is_array($array) && !empty($array)) {  //是数组且不为空
            foreach ($array as $index => $item) {
                if (is_numeric($index)) {  //索引为数值
                    $result_data[$item] = $this->request->$method($item); //以$method方式生成给定参数名为索引的数组
                } else {
                    $result_data[$index]=$this->request->$method($item); //以$method方式生成给定数值为索引的数组
                }
            }
        }
        return $result_data;
    }