为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
MMMHUHU 2021-12-24 15:28:05
如果我有一个接受 splat 参数的 PHP 函数:function1(...$parms1) {...}我从另一个也接受 splat 参数的函数调用这个函数:function2(...$parms2) {function1($parms2);}function1 的调用似乎将 function2 parms 包装到另一个数组中(即 function1 看到数组中的数组)。反正从传递PARMS的function2到function1原样,没有第二个参数数组的隐式创作?不要误会我的意思,我可以看到 PHP 正在做我要求它做的事情,但是如果我可以将function2splat 直接传递给function1.任何建议将不胜感激。
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

这种方法非常简单:


function2(...$parms2) {

    // stuff happens...

    // then call function1

    function1(...$parms2);

}

Splat 也适用于通话。


检查PHP 文档中的函数参数。在示例 #14 中,您可以看到...used 接受当前正在执行的参数。在示例 #15 中,您可以看到它用于提供参数,就像我在这里展示的那样。


$parms2不是特定于可变长度参数的某种特殊类型的可迭代对象,它只是一个普通数组。这就是为什么您会在 中看到“数组中的数组” function1(),但这也意味着...当您使用它调用function1().


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号