当你在tp5框架中写方法时返回一个数组时,tp5会报错:variable type error: array
这是因为tp5不支持返回数组。
下面是小编亲测的2种解决方法,大家就看自己实际需求,来决定使用哪种方法。
-
方法一:需要修改你的源代码
直接在返回语句中加上json()、xml().....等你需要返回的数据类型函数
例如:
<?phpnamespace app\index\controller;use think\Db;class Index{ public function index() { $returnData=json(Db::query('select * from xtable');) return $returnData; }}
-
方法二:不修改修改源代码,需修改tp5配置文件
找到并打开tp5框架中的“config.php”配置文件。在该配置文件中找到
'default_return_type' => 'html'(如下图所示)
将这个属性设置为你需要返回的数据类型。例如这里可以设置为:
'default_return_type' => 'json'或者'default_return_type' => 'xml'
-
以上2种方式均可以返回结果,大家根据实际需要来决定使用哪种。
另附上‘ThinkPHP5.0完全开发手册’上关于这个报错的详细方法:
http://www.kancloud.cn/manual/thinkphp5/118017