将 PHP splat 参数传递给另一个函数

如果我有一个接受 splat 参数的 PHP 函数:

function1(...$parms1) {...}

我从另一个也接受 splat 参数的函数调用这个函数:

function2(...$parms2) {function1($parms2);}

function1 的调用似乎将 function2 parms 包装到另一个数组中(即 function1 看到数组中的数组)。

反正从传递PARMS的function2function1原样,没有第二个参数数组的隐式创作?

不要误会我的意思,我可以看到 PHP 正在做我要求它做的事情,但是如果我可以将function2splat 直接传递给function1.

任何建议将不胜感激。


MMMHUHU
浏览 129回答 1
1回答

繁华开满天机

这种方法非常简单:function2(...$parms2) {    // stuff happens...    // then call function1    function1(...$parms2);}Splat 也适用于通话。检查PHP 文档中的函数参数。在示例 #14 中,您可以看到...used 接受当前正在执行的参数。在示例 #15 中,您可以看到它用于提供参数,就像我在这里展示的那样。$parms2不是特定于可变长度参数的某种特殊类型的可迭代对象,它只是一个普通数组。这就是为什么您会在 中看到“数组中的数组” function1(),但这也意味着...当您使用它调用function1().
打开App,查看更多内容
随时随地看视频慕课网APP