如何解决PHP递归函数得到错误异常
我想做一个递归函数,该函数调用自身,
我有 public function test(Request $request){}
在那个函数内部我调用了自己
public function test(Request $request){
//data
$data // this variable is have the same format as $request,but with fewer data
if (count($data>0){
test($data);
}
}
但它返回
Argument 1 passed to App\\Http\\Controllers\\Api\\Controller::test() must be an instance of Illuminate\\Http\\Request,array given,called in C:\\xampp\\htdocs\\FIX\\test\\app\\Http\\Controllers\\Api\\Controller.PHP on line 891",
解决方法
您可以将新数据与旧请求合并,然后递归地将请求再次传递给函数。
public function test(Request $request){
if (count($data>0){
$request->merge($data);
test($request);
}
}
通过这样做,您的新数据将被传递给函数。
,我建议这样
public function test(Request $request,array $data = []){
if (!empty($data) {
$this->test($request,$data);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。