array_reduce问题
阅读laravel管道相关代码:
对这个函数能传值,感到兴趣,自己本地写了个列子,也能执行,但是报错:
报错:
目前php版本:
应该是 $res(1);的写法不对,请问应该怎么用,为啥laravel没有这个问题?
laravel middleware 之 array_reduce 详解
缺少第三个参数初始栈,不传则默认初始栈为 Null,Null 当函数调用则报错。下面是你的代码,加上初始栈后的结果:
以上在 laravel 中,
$par
为$request
,$st
为栈,第一次传入的是初始栈,因此$st
为 null,因封装到闭包中,$st()
并不会执行,被封装在最内层,因此执行到最后一层报错。